Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Aufruhr einer Procedure in einem dynamisch erzeugten Formular (https://www.delphipraxis.net/207304-aufruhr-einer-procedure-einem-dynamisch-erzeugten-formular.html)

josef-b 11. Mär 2021 10:36

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:
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;
Danke euch im Voraus für Eure Hilfe

mkinzler 11. Mär 2021 10:40

AW: Aufruhr einer Procedure in einem dynamisch erzeugten Formular
 
Wenn diese Prozedur mindest Sichtbarkeit public ist, sollte es funktionieren.

Welcher Fehler?

joachimd 11. Mär 2021 10:44

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;

Gausi 11. Mär 2021 10:47

AW: Aufruhr einer Procedure in einem dynamisch erzeugten Formular
 
Oder alternativ das Array anders deklarieren:
Delphi-Quellcode:
var myform:array of TFMyFormVorlage
Das natürlich nur, falls nur diese Formklasse in das Array rein soll, und nicht auch andere Forms

josef-b 11. Mär 2021 10:51

AW: Aufruf einer Procedure in einem dynamisch erzeugten Formular
 
Aufruhr ist natürlich auch gut,

Aufruf natürlich :) :o:lol:

josef-b 11. Mär 2021 12:47

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 20:30 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz