AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Aufruhr einer Procedure in einem dynamisch erzeugten Formular
Thema durchsuchen
Ansicht
Themen-Optionen

Aufruhr einer Procedure in einem dynamisch erzeugten Formular

Ein Thema von josef-b · begonnen am 11. Mär 2021 · letzter Beitrag vom 11. Mär 2021
Antwort Antwort
josef-b

Registriert seit: 6. Jun 2004
Ort: bei Jena in Thüringen
95 Beiträge
 
Delphi 11 Alexandria
 
#1

Aufruhr einer Procedure in einem dynamisch erzeugten Formular

  Alt 11. Mär 2021, 10:36
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
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Aufruhr einer Procedure in einem dynamisch erzeugten Formular

  Alt 11. Mär 2021, 10:40
Wenn diese Prozedur mindest Sichtbarkeit public ist, sollte es funktionieren.

Welcher Fehler?
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von joachimd
joachimd

Registriert seit: 17. Feb 2005
Ort: Weitingen
672 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Aufruhr einer Procedure in einem dynamisch erzeugten Formular

  Alt 11. Mär 2021, 10:44
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;
Joachim Dürr
Joachim Dürr Softwareengineering
http://www.jd-engineering.de
  Mit Zitat antworten Zitat
Benutzerbild von Gausi
Gausi
Online

Registriert seit: 17. Jul 2005
847 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Aufruhr einer Procedure in einem dynamisch erzeugten Formular

  Alt 11. Mär 2021, 10:47
Oder alternativ das Array anders deklarieren:
var myform:array of TFMyFormVorlage Das natürlich nur, falls nur diese Formklasse in das Array rein soll, und nicht auch andere Forms
The angels have the phone box.
  Mit Zitat antworten Zitat
josef-b

Registriert seit: 6. Jun 2004
Ort: bei Jena in Thüringen
95 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Aufruf einer Procedure in einem dynamisch erzeugten Formular

  Alt 11. Mär 2021, 10:51
Aufruhr ist natürlich auch gut,

Aufruf natürlich
  Mit Zitat antworten Zitat
josef-b

Registriert seit: 6. Jun 2004
Ort: bei Jena in Thüringen
95 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Aufruhr einer Procedure in einem dynamisch erzeugten Formular

  Alt 11. Mär 2021, 12:47
Danke Euch,

habe es wie Gausi gemacht, da es tatsächlich immer die gleiche FormKlasse ist.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:01 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