Leider habe ich immer noch das weitere Problem
Zitat:
du hast einen Record der Methoden und private Member hat?
Ja, und ich habe Probleme beim richtigen Zugriff darauf, ich habe den Code noch etwas "Eingerückt"
Delphi-Quellcode:
//[...]
TYPE TSRKInfoBox = class
PRIVATE
CLASS VAR SRKIBNewForm : TForm;
CLASS VAR SRKIBNewButton : TButton;
CLASS VAR SRKIBNewWebLabel : TLabel;
TYPE TButtons = record
PRIVATE
PROCEDURE SetCaption(ACaption:String='Close');
FUNCTION GetCaption:String;
PROCEDURE SetOnKlick(Sender: TObject);
PROCEDURE SetVisible(AVisible:Boolean=TRUE);
FUNCTION GetVisible:Boolean;
PUBLIC
PROCEDURE Create;
PROPERTY Caption:String READ GetCaption WRITE SetCaption;
PROCEDURE Show;
PROPERTY Visible:Boolean READ GetVisible WRITE SetVisible;
END;
//[...]
PROCEDURE TSRKInfoBox.TButtons.Create;
BEGIN
SRKIBNewButton := TButton.Create(SRKIBNewForm);
SRKIBNewButton.Parent := SRKIBNewForm;
SRKIBNewButton.OnClick := ???
END;
//[...]
PROCEDURE TSRKInfoBox.TButtons.SetOnKlick(Sender: TObject);
BEGIN
SRKIBNewButton.Free;
SRKIBNewForm.Free;
END;
//[...]
Ich habe schon alles mögliche versucht wie:
Delphi-Quellcode:
SRKIBNewButton.OnClick := SRKIB.TButtons.SetOnKlick;
// Feld oder Methodenbezeichner erwartet
Delphi-Quellcode:
SRKIBNewButton.OnClick := SRKIB.FFTButtons.SetOnKlick;
// Access violation at address [...] -> in CLASS Funktioniert nicht :-(
MFG