momentan arbeite ich mit folgendem Code:
Code: Alles auswählen
procedure TMainForm.FormCreate(Sender: TObject);
procedure AddObjectToTreeView(PSomeObject: Pointer);
begin
MyTreeView.Items.AddObject(MyTreeView.Items.Item[0], TSomeObject(PSomeObject^).Caption, PSomeObject);
end;
var
SomeObject1, SomeObject2: TSomeObject;
begin
// ...
SomeObject1 := TSomeDerivedObject.Create
AddObjectToTreeView(@SomeObject1);
SomeObject2 := TSomeOtherDerivedObject.Create
AddObjectToTreeView(@SomeObject2);
// ...
end;
Wie kann ich das Objekt uebergeben und nicht einen Pointer drauf? Das muss doch irgendwie moeglich sein ... bei meinen bisherigen Versuchen bekomm ich aber immer einen Segfault, sobald ich ein Objekt ueber MyTreeView.Items.Item.Data^ ansprechen will ...
Kann ich den Konstruktor irgendwie mit dem Prozeduraufruf verbinden, damit ich mir den Umweg ueber die Variablen spare?
Code: Alles auswählen
AddObjectToTreeView( TSomeOtherDerivedObject.Create)
Danke
