![]() |
Aufruhr einer Procedure in einem dynamisch erzeugten Formular
Hallo,
ich möchte zur Laufzeit einige Formulare erzeugen. Darin sollen dann mal PDFs angezeigt werden. dazu habe ich ein Vorlage Formular erstellt, das auch im Projekt ist. Und in diesem Vorlage formular gibt es die Procedure show_pdf, die als public deklariert ist.. Allerdings weiss ich nicht wie, ich diese public procedure aufrufe.
Delphi-Quellcode:
Danke euch im Voraus für Eure Hilfe
procedure TFForm1.create_newforms;
var myform:array of TForm; i: integer; begin setlength(myform,3); for i := 0 to 2 do begin myform[i] := TFMyFormVorlage.Create(self); myform[i].caption := 'Formular ' + inttostr(i + 1); myform[i].Left := 20 + (5 *i); myform[i].Top := 5 + (5 * i); // bis hierher geht myform[i].show_my_pdf; //Aufruf der Procedure geht nicht end; end; |
AW: Aufruhr einer Procedure in einem dynamisch erzeugten Formular
Wenn diese Prozedur mindest Sichtbarkeit public ist, sollte es funktionieren.
Welcher Fehler? |
AW: Aufruhr einer Procedure in einem dynamisch erzeugten Formular
TForm kennt die Methode nicht. Du musst einen Cast machen:
Delphi-Quellcode:
if (myform[i] is TFMyFormVorlage) then
(myform[i] as TFMyFormVorlage).show_my_pdf; |
AW: Aufruhr einer Procedure in einem dynamisch erzeugten Formular
Oder alternativ das Array anders deklarieren:
Delphi-Quellcode:
Das natürlich nur, falls nur diese Formklasse in das Array rein soll, und nicht auch andere Forms
var myform:array of TFMyFormVorlage
|
AW: Aufruf einer Procedure in einem dynamisch erzeugten Formular
Aufruhr ist natürlich auch gut,
Aufruf natürlich :) :o:lol: |
AW: Aufruhr einer Procedure in einem dynamisch erzeugten Formular
Danke Euch,
habe es wie Gausi gemacht, da es tatsächlich immer die gleiche FormKlasse ist. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:17 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