Autor Beitrag
theo
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 62

Win 2000, XP, Vista; Win 7
Delphi 6, 7, 2010, MSSQL, Firebird, DevExpress
BeitragVerfasst: So 04.06.06 17:44 
Hallo alle zusammen!

Ich habe bis jetzt mit delphi proammiert und will jetzt .net (C#) nutzen.

Meine Frage:

Wie kann ich eine Variable (gemeinsame SQL-Connection) erzeugen, die in allen Forms und so sichtbar ist und zum Progammstart inizialisiert wird.

in delphi habe ich das bisher so gelöst:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
unit xyz;
.....

var
  WRSConnection:= TWRSConnection;

initialization
  WRSConnection:=TWRSConnection.create(nil);
  WRSConnection.Connected:=true;


finalization
  if assigned(WRSConnection) then begin
    WRSConnection.Free;
  end;

end.


Moderiert von user profile iconChristian S.: Delphi-Tags hinzugefügt
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: So 04.06.06 18:21 
Da C# vollständig objektorientiert ist, gibt es keine globalen Variablen. Du kannst höchstens eine Klasse anlegen und dort Klassenvariablen ablegen, die sind dann überall verfügbar. Ob das guter Stil ist, muss man im Einzelfall entscheiden. Sowas wie finalization und initialization kenn ich in C# gar nicht. :gruebel:

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

Win 2000, XP, Vista; Win 7
Delphi 6, 7, 2010, MSSQL, Firebird, DevExpress
BeitragVerfasst: So 04.06.06 18:35 
Ich habe eine DB-Anwendung mit vielen Forms. Die "globale Variable" in Delphi habe ich nur für eine gemeinsame Datenbankverbindung genutzt, damit nicht jede Form eine eigene DB-Verbindung aufbauen muss. Ist für diesen Einsatzfall eine Klassenvariable sinvoll? Oder gibt es einen bessere Lösung?
RedEagel
Hält's aus hier
Beiträge: 8

Win XP
C# und VB.Net (VS.Net 2005 Professional)
BeitragVerfasst: Di 25.07.06 18:53 
Hallo,
Eine klassenvariable ist eine gute Idee, da du in der Klasse die DB-Verbindung nur einmal proggen musst und diese klasse dann überall wo du sie verwendest instanzieren kannst (myClass DBKlasse = new myClass(); )
...
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: Di 25.07.06 21:09 
:gruebel: ?
Der Sinn einer Klassenvariable ist es doch gerade, dass die Klasse nicht instanziiert werden muss.
UC-Chewie
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 531

WinXP
D5 Ent
BeitragVerfasst: Di 25.07.06 21:40 
Such doch mal nach Suche in der Entwickler-Ecke SINGLETON, das sollte genau das sein, was du suchst.

_________________
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind