Einzelnen Beitrag anzeigen

delphino

Registriert seit: 4. Mai 2005
11 Beiträge
 
#1

Objekte verschwinden bzw. werden überschrieben ??

  Alt 4. Mai 2005, 09:28
Hallo !!

Bin neu in Delphi, aber bin mit OOP aus PHP/Java und diversen anderen Script-Sprachen vertraut. Habe schon einige Hilfreiche Threads gelesen hier, aber habe ein Problem bei dem ich noch nicht mal weiß wonach ich suchen soll. Also falls es zu meiner Frage schon einen Thread gibt, dann bitte bescheid sagen. =)

Habe eine TForm, die im Constructor mehrere Frames dynamisch erzeugt. Sprich habe ein Array, für jedes Element im Array wird ein Frame erzeugt. Diese Frames werden dann in einem Array abgelegt, dass diese Frames als Typ hat. Nach den instanziieren verschwinden die zuerst instanziierten Objekte irgendwo im Nirvana und das Array hat nur noch das zuletzt instanziierte Objekt in jedem Index. Nein, ich habe nichts beim Befüllen der Schleife falsch gemacht, denn das ganze passiert auch dann, wenn ich folgendes tue:

Delphi-Quellcode:
O1 := TTabFrame1.Create(nil,DBConnect1,1); //TTabFrame1 ist von TFrame abgeleitet. *
ShowMessage(O1.GetFTabRandom); // << gibt 1 aus
O2 := TTabFrame1.Create(nil,DBConnect1,2); //
ShowMessage(O2.GetFTabRandom); // << gibt 2 aus
ShowMessage(O1.GetFTabRandom); // << gibt 2 aus !!!!
ShowMessage(O2.GetFTabRandom); // << gibt 2 aus

//* Der 3. Parameter wird im Contructor in ner Var gespeichert und kann über GetFTabRandom ausgelesen werden.
Hat Delphi vllt so eine Eigenart, dass man Frames oder Units whatever nur einmal instanziieren kann ?? Finde darüber aber nichts in Bücher o.ä.
Das gleiche mit einer selbstdefinierten Klasse funktioniert wunderbar. Nur bei diesen Frames nicht.... o.O

Für Eure Hilfe im Voraus vielen dank...

delphino
  Mit Zitat antworten Zitat