Einem Formular beim Start Parameter übergeben?

Für Fragen von Einsteigern und Programmieranfängern...
Antworten
mintpc
Beiträge: 124
Registriert: Mo 6. Sep 2010, 18:39
OS, Lazarus, FPC: Win 7 (L 1.6 FPC 3.0.0)
CPU-Target: Win 7
Wohnort: Mailand

Einem Formular beim Start Parameter übergeben?

Beitrag von mintpc »

Hallo zusammen,

gibt es eigentlich die Möglichkeit, einem Formular beim Start Parameter zu übergeben, wie bei
einer Prozedur. Wenn man z.B. ein Hauptformular hat, und aus dem Hauptformular ein anderes
Formular startet, wie etwa hier:

Code: Alles auswählen

Application.CreateForm(TForm_Geo, Form_Geo);
Form_Geo.ShowModal; 
, dass man dann dem Formular Geo etwa beim Start eine Integer Variable a mit übergibt,
wie bei einer Prozedur, also etwa so:

Code: Alles auswählen

Form_Geo(5);
Geht sowas?

Besten Dank
mintpc

Benutzeravatar
m.fuchs
Lazarusforum e. V.
Beiträge: 2808
Registriert: Fr 22. Sep 2006, 19:32
OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
CPU-Target: x86, x64, arm
Wohnort: Berlin
Kontaktdaten:

Re: Einem Formular beim Start Parameter übergeben?

Beitrag von m.fuchs »

Ein Formular wird nicht "gestartet". Du rufst letztendlich immer eine Methode auf. Also kannst du dir natürlich eine eigene schreiben, die einen Parameter bekommt, den verwurstet und das Formular anzeigt.

Code: Alles auswählen

type
  TForm2 = class(TForm)
  private
    { private declarations }
  public
    procedure StartMe(AInteger: Integer);
  end;
 
var
  Form2: TForm2;
 
implementation
 
{$R *.lfm}
 
procedure TForm2.StartMe(AInteger: Integer);
begin
  Self.Caption := IntToStr(AInteger);
  Self.Show;
end;
Der Aufruf erfolgt dann von außerhalb:

Code: Alles auswählen

procedure TForm1.Button1Click(Sender: TObject);
begin
  Form2.StartMe(12345);
end;
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de

mintpc
Beiträge: 124
Registriert: Mo 6. Sep 2010, 18:39
OS, Lazarus, FPC: Win 7 (L 1.6 FPC 3.0.0)
CPU-Target: Win 7
Wohnort: Mailand

Re: Einem Formular beim Start Parameter übergeben?

Beitrag von mintpc »

ah, ok. Verstehe.

Dann mache ich das so.

Vielen Dank
mintpc

Antworten