Hallo ihr lieben Bewohner des Delphi-PRAXIS Forums,
ich habe folgende Grundsituation:
Ich habe ein Formular und eine Frame-
Unit. Den Frame habe ich auf das Formular gepackt. Nun habe ich auf dem Frame einen Button und wenn der gedrückt wird, soll sich ein Label auf dem Formular ändern (damit man sieht, obs geklappt hat).
Hier der Code für Das OnClick Event des Buttons im Frame:
Delphi-Quellcode:
procedure TFrame_ButtonTest.BtnClickMeClick(Sender: TObject);
begin
try
Self.OnClick(Self);
except
on e:
Exception do
begin
ShowMessage('
Fehler in BtnClickMeClick(): ' + e.
Message);
end;
end;
end;
Und hier der Code im Hauptformular:
Delphi-Quellcode:
procedure TDialog_MainUnit.FormCreate(Sender: TObject);
var
tmpFrame: TFrame_ButtonTest;
tmpSender: TObject;
begin
try
tmpFrame := TFrame_ButtonTest.Create(self);
try
if Assigned(tmpFrame)
then
begin
tmpFrame.BtnClickMe.OnClick := FrameButtonClick(tmpSender);
tmpFrame.BtnClickMeClick(tmpSender) := FrameButtonClick(tmpSender);
//beide Varianten gehen nicht
end;
finally
tmpFrame.Free;
end;
except
on e:
Exception do
begin
ShowMessage('
Fehler in FormCreate(): ' + e.
Message);
end;
end;
end
procedure TDialog_MainUnit.FrameButtonClick(Sender: TObject);
begin
try
LblText.Caption := '
Dat geht gut!';
except
on e:
Exception do
begin
ShowMessage('
Fehler in FrameButtonClick(): ' + e.
Message);
end;
end;
end;
Meine Frage nun:
Wie kann ich das OnClick Event vom Button im Frame der Prozedur "FrameButtonClick()" im Hautpformular zuweisen?
Oder gibt es einen einfacheren Weg, um den Text auf dem Label im Hautpformular per Klick auf den Button im Frame zu ändern?
Vielen Dank im Voraus für eure Antworten und Ratschläge.
MFG
Morris F.