Einzelnen Beitrag anzeigen

Dawn87

Registriert seit: 15. Feb 2007
Ort: Lüdenscheid
189 Beiträge
 
Delphi XE5 Professional
 
#1

Objektreferenz übergeben (Self)

  Alt 6. Dez 2008, 04:48
Hallo!

Ich habe ein Problem:

Und zwar habe ich iene Klasse "TComboProxy" die eine Combobox erzeugt. Dieser Combobox möchte ich gerne die Referenz auf die Instanz von TComboProxy mitgeben. TComboProxy verwaltet nämlich noch die Einträge in der Combobox.
Delphi-Quellcode:
function TComboProxy.AddControl(Parent: TWinControl): TWinControl;
var
  coTemp: TComboBox;
begin
  coTemp := TComboBox.Create(Parent);

  coTemp.Parent := Parent;
  coTemp.Width := 80;
  coTemp.Height := 25;
  coTemp.Text := 'Test';
  coTemp.Visible := True;

  coTemp.Tag := Integer(Pointer(self)); // Referenzübergabe

  Result := coTemp;
end;
Mit dem Code klappt dies Ansatzweise. Wenn ich jedoch 2 Instanzen von TComboProxy erzeuge (und demensprechend 2 ComboBoxen) zeigen beide Pointer (in coTemp.Tag) auf selbe Adresse.

Könnt ihr mir sagen was ich falsch gemacht habe?

Grüße
Stefan
  Mit Zitat antworten Zitat