![]() |
Form an Funktion übergeben
Servus!
Wisst ihr zufällig, wie man ein Form als Parameter an eine Prozedur weitergibt? So gehts nicht:
Delphi-Quellcode:
weil wenn ich ein Form erstelle, wird es von TForm abgeleitet und ist somit nichtmehr von diesem Typ :(
procedure Test(Form: TForm);
begin end; Was kann man da machen? Danke schonmal! |
Re: Form an Funktion übergeben
Moin cYaONE,
Zitat:
Du kannst nur die in, z.B., TForm1 neu hinzugekommenen Eigenschaften und Methoden nicht direkt ansprechen. Dafür müsstest Du als Typ für den Parameter halt TForm1 angeben. |
Re: Form an Funktion übergeben
Das Problem ist, das ich zu dieser Zeit nicht weiß, von welchem Typ das Formular ist :(
|
Re: Form an Funktion übergeben
Moin cYaONE,
welche Typen möglich sind ist Dir doch bekannt, oder? Dann könntest Du in der Prozedur den Typ abfragen, falls Du die bestimmten Bestandteile eines abgeleiteten Forms brauchst, oder Du gibst Dich mit den Möglichkeiten der Basisklasse zufrieden. Nur mal so als Beispiel und ungetestet.
Delphi-Quellcode:
var
f1 : TForm1; f2 : TForm2; //... begin f1 := nil; f2 := nil; //... if Form is TForm1 then begin f1 := Form as TForm1; end; //... if f1 <> nil then begin f1.Button1.Enabled := true; end; end; |
Re: Form an Funktion übergeben
Ich würds so machen
Delphi-Quellcode:
mfg Rumpi// TForm2 Unit procedure TForm2.CallForm1; begin if Assigned( Form1 ) ten Form1.Test( Self ); end; // TForm1 Unit procedure TForm1.Test(Sender: TObject); begin if Assigned( Sender ) and ( Sender is TForm2 ) then with TForm2( Sender ) do begin ... end; end; [edit=Daniel B]BB-Code eingeschaltet. Mfg, Daniel B[/edit] |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:25 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz