Autor Beitrag
winx
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 249



BeitragVerfasst: Mo 17.10.05 21:38 
Hi,

wer kann mir das Prinzip der Namespaces und wie ich sie verwende erklären???

Wie muß ich meine

-Projektgruppen
-Projekte
-Klassen

damit das alles eine Struktur bekommt (vielleicht ein Beispiel???)?

Vielen Dank,
winx
AndyB
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1173
Erhaltene Danke: 14


RAD Studio XE2
BeitragVerfasst: Di 18.10.05 13:07 
user profile iconwinx hat folgendes geschrieben:
-Projektgruppen

GroupName.bdsgroup (Schlagmichtot.bdsgroup)

Zitat:
-Projekte

MyCompany.MyPackage.bdsproj (Jedi.Jcl.bdsproj)

Zitat:
-Klassen

MyNamespace.UnitName.pas (Jedi.Jcl.JclSysUtils)

_________________
Ist Zeit wirklich Geld?
winx Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 249



BeitragVerfasst: Di 18.10.05 13:28 
und wie muß ich dann von außen eine Klasse ansprechen:

So?

MyCompany.MyPackage.MyNamespace.UnitName ???
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Di 18.10.05 14:09 
Hallo!

Seit Delphi 2005 gilt für die Namespaces folgende Regel: Wenn Du eine .pas-Datei mit dem Namen "teil1.teil2.teil3.name.pas" hast, dann ist der Namespace dieser Datei "teil1.teil2.teil3". Also immer das, was vor dem letzten Punkt (von dem ".pas" mal abgesehen) steht.

Wichtig: In der Uses-Klausel gibst Du aber trotzdem den kompletten Dateinamen an, wie Du es gewohnt bist.

IIRC war es bei Delphi 8 anders, aber wen interessiert schon Delphi 8 :D

Grüße
Christian

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
winx Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 249



BeitragVerfasst: Di 18.10.05 14:40 
Danke, programmiert du dann schon richtig mit Delphi.Net, bin mämlich noch am probieren und traue der Sache noch nicht so ganz...

Muß man die Projektdatei auch irgendwie benennen oder spielt das dann keine Rolle?
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Di 18.10.05 14:44 
Hallo!

Habe mein neuestes Programm SharpPix 2.0 in Delphi .NET geschrieben. Ist OpenSource, kannste Dir also mal ansehen.

Die Namen der Projekte legen Dir den Namen der Assembly-Datei fest.

Grüße
Christian

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
winx Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 249



BeitragVerfasst: Di 18.10.05 15:19 
Und wie waren deine Erfahrungen mit Delphi.Net? Hast du noch die VCL benutzt?

Sind noch sehr viele Bugs vorhanden???
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Di 18.10.05 15:33 
Hallo!

Nein, die VCL nutze ich nicht, ist ein reines WinForms-Projekt.

Die Erfahrungen mit Delphi 2005 waren durchaus positiv. Ich fand es angenehm damit zu arbeiten. Allerdings gibt es auch ein paar Dinge, die nerven, wenn man z.B. System.Windows.Forms.DialogResult.OK schreiben muss anstatt DialogResult.OK schreiben zu können. An einigen Stellen ist der Delphi-Compiler einfach "dumm". Das hat mich in einem Thread hier im Forum mal dazu verleitet, zu sagen, beim nächsten Mal würde ich C# nehmen.

Aber auch da gibt es ein paar nervige Dinge, sodass ich inzwischen wohl nicht mehr uneingeschränkt zu dieser Aussage stehen würde, sondern die Wahl zwischen Delphi und C# schwer fallen würde.

Was Bugs angeht, so muss ich sagen, dass Delphi 2005 mit allen drei Updates absolut für den Produktiveinsatz geeignet ist. Mir fällt auf Anhieb nichts ein, was mich stören würde. Programmierer, die einen größeren Teil der Funktionen von D2k5 nutzen als ich, werden aber wahrscheinlich auch mehr Bugs sehen und evtl. zu einem anderen Urteil kommen.

Grüße
Christian

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
AndyB
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1173
Erhaltene Danke: 14


RAD Studio XE2
BeitragVerfasst: Di 18.10.05 18:48 
user profile iconChristian S. hat folgendes geschrieben:
System.Windows.Forms.DialogResult.OK

Ein Grund, warum ich mir da immer einen Alias-Namen anlege.
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
type
  DlgResult = DialogResult;

procedure TWinForm.Button1_Click(sender: System.Object; e: System.EventArgs);
begin
  if MessageBox.Show('Hallo World!''MyApp', MessageBoxButtons.OKCancel) = DlgResult.OK then
    ...
end;

Das macht das Leben schon viel angenehmer.


Der Unterschied zwischen Delphi.NET und C# liegt hierbei einfach darin, dassn in C# ein Typ vor dem "auto-this" kommt. Wenn man also in C# auf die Forms Eigenschaft DialogResult zugreifen möchte, dann muss man this.DialogResult schreiben.
Bei beiden Varianten ist der Vorteil aber auch der Nachteil. Das hängt halt immer vom jeweiligen Kontext ab. (die C#-Variante ist aber dahingehend besser dass "this." einfach kürzer zu schreiben ist als "System.Windows.Forms."

_________________
Ist Zeit wirklich Geld?
winx Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 249



BeitragVerfasst: Mi 19.10.05 08:28 
Hi,

schön zu hören das eure Erfahrungen mit Delphi2005 (auch mit den WinForms) durchwegs positiv sind :-)

Habt ihr auch schon probiert ein Delphi7 Projekt in Delphi.Net zu importieren???

Danke
Robert_G
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 416


Delphi32 (D2005 PE); Chrome/C# (VS2003 E/A, VS2005)
BeitragVerfasst: Mo 24.10.05 01:55 
user profile iconAndyB hat folgendes geschrieben:
Der Unterschied zwischen Delphi.NET und C# liegt hierbei einfach darin, dassn in C# ein Typ vor dem "auto-this" kommt. Wenn man also in C# auf die Forms Eigenschaft DialogResult zugreifen möchte, dann muss man this.DialogResult schreiben.
Bei beiden Varianten ist der Vorteil aber auch der Nachteil. Das hängt halt immer vom jeweiligen Kontext ab. (die C#-Variante ist aber dahingehend besser dass "this." einfach kürzer zu schreiben ist als "System.Windows.Forms."

Öhm wer hat dir denn das erzählt? Ich lasse mir das "this." sogar autom. von einem AddIn entfernen wenn es unnötig ist[meta]stört irendwie beim lesen...[/meta].

Das hier funktioniert absolut problemlos in C#
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
private void okButton_Click(object sender, EventArgs e)
{
  String String = "Hallo";
  Text = String;
  DialogResult = DialogResult.OK;
}

oder in Chrome:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
method MainForm.okButton_Click(sender: Object; e: EventArgs);
begin
  var String := 'Hallo';
  Text := String;
  DialogResult := DialogResult.OK;
end;


Sollte eigentlich auch klar sein. Wenn ich, als fehlbarer Mensch, sofort erkennen kann kann, dass hier eine Property mit der Konstante DialogResult.OK besetzt wird, sollte es der Compiler schon 10-mal wissen. ;)
Die Art der Verwendung schließt doch schon aus, dass es ein Typ ist, somit muss der Compiler nur noch schauen, ob es eine passende Variable/Property/Feld gibt. ;)

btw: @Christion, es geht auch &DialogResult.OK Nicht schön, aber kürzer... ;)
AndyB
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1173
Erhaltene Danke: 14


RAD Studio XE2
BeitragVerfasst: Di 25.10.05 09:34 
[quote="user profile iconRobert_G"]Öhm wer hat dir denn das erzählt? Ich lasse mir das "this." sogar autom. von einem AddIn entfernen wenn es unnötig ist[meta]stört irendwie beim lesen...[/meta].
Falsche Annahme meinerseits. Ich habe jetzt schon fast ein 3/4 Jahr nicht mehr mit C# gearbeitet (native Anwendungen werden halt immernoch bevorzugt gewünscht).

_________________
Ist Zeit wirklich Geld?