Einzelnen Beitrag anzeigen

sunny-andy

Registriert seit: 11. Nov 2007
26 Beiträge
 
#1

Ein Interfaced Object im TTabSet speichern?

  Alt 20. Nov 2007, 15:36
Hallo,

ich möchte in einem TTabSet ein Objekt speichern mittels "AddObject". Mein Objekt ("Fenster") implementiert aber ein Interface (ITabSetWindow).
Direkt nach dem Hinzufügen hole ich in diesem Beispiel das Objekt wieder heraus mittels Supports, was aber leider nicht funktioniert.
Folgende Meldung kommt:
"Access violation at address ... Read of address..."

Ich schätze ich habe das Fenster-Objekt nicht richtig in der Liste gespeichert oder?

Delphi-Quellcode:
procedure TTabSetController.RegistriereFenster(Fenster: ITabSetWindow);
var
  selWindow : ITabSetWindow;
begin
  With FTabSet do
  begin
    Tabs.AddObject(Fenster.GetBezeichnung, Pointer(Fenster)); // Geht das eigentlich mit Pointer(..) ?
    Repaint;

    Supports(Tabs.Objects[0], ITabSetWindow, selWindow); // Hier tritt der Fehler auf
    selWindow.DoAnything;
  end;
end;
Wäre toll, wenn jemand einen Tipp hat!
Danke, Andy
  Mit Zitat antworten Zitat