Einzelnen Beitrag anzeigen

IngoD7

Registriert seit: 17. Feb 2004
464 Beiträge
 
Delphi 7 Enterprise
 
#19

Re: ComboBox mit unterschiedlichen Objekten - sauber abraeum

  Alt 23. Feb 2007, 12:53
Hi marabu,
danke für die Erklärung!

Zitat von marabu:
Hallo Ingo,
Zitat von IngoD7:
... Naja, TComboBox.Items.Objects[] enthält immer nur Referenzen. Die Frage ist, ob diese Referenz auf ein real existierendes Objekt zeigt, das man auch freigeben könnte. Das scheint hier eben nicht der Fall zu sein. ...
Klassenreferenz ist in Object Pascal ein terminus technicus, die Online Hilfe enthält dazu sicher ein Kapitel. Klassen werden nicht freigegeben, Free ist auch keine class method.
So weit, so (auch schon vorher) klar. Letztlich wollte ich genau das auch nur bestätigen/ergänzen. (Auch wenn ich lange nicht alles zum Thema Klassenreferenzen und Klassenmethoden verstanden habe, was ich jemals drüber gelesen habe. )

Viel spannender ist da folgendes:
Zitat von marabu:
Zitat von IngoD7:
... Ich weiß auch gar nicht, welche Zahl das ist, wenn man eine Klasse auf Integer castet. Was kann man mit der Zahl anfangen? Was hat man davon, diese Zahl (also den Integer) dann auf TObject zu casten und den Zeiger dann in eine Objektliste zu hängen? ...
Im vorliegenden Fall ist TObject(Integer(TMyEffect)) identisch mit TMyEffect - zuletzt ist alles ein Zeiger in unterschiedlichen Interpretationen. Durch die in Objects[] hinterlegte Klasse kann bei Auswahl eines Items der ComboBox die entsprechende Klasse instanziert werden.
Sowas in der Art?
Delphi-Quellcode:
var
   ObjVar: TObject;
begin
   ObjVar := MyComboBox.Items.Objects[MyComboBox.ItemIndex].Create;
end;
Das klappt doch nicht, oder?
  Mit Zitat antworten Zitat