Moin,
Ich habe zwei Forms, die die gleiche Funktion haben ich würde es also gerne zu einem zusammenfügen. Das Problem ist allerdings das die Forms über zwei unterschiedliche Forms aufgerufen werden udn von ihenen variablen mit kriegen.
Meine Frage ist also kann ich iwie abfragen von welchem Form das Form aufgerufen wird?
Ich hoffe ich habe es einigermaßen verständlich erläutert.
Überprüfen von wo etwas aufgerufen wird
-
- Beiträge: 2118
- Registriert: Di 23. Sep 2014, 17:46
- OS, Lazarus, FPC: Win10 | Linux
- CPU-Target: x86_64
Re: Überprüfen von wo etwas aufgerufen wird
Du könntest einen Sender Parameter hinzufügen und entweder über den Namen oder über den Typen dann checken welche Form es ist
Re: Überprüfen von wo etwas aufgerufen wird
ja okay kann man so machen vielleicht noch ne idee wie ich den quellcode in dem einem form nicht verdoppeln muss
-
- Beiträge: 6910
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Überprüfen von wo etwas aufgerufen wird
Es gäbe eine ganz einfache Lösung, ist zwar nicht elegant.
Deklariere im public-Teil eine Variable, zB. vonForm:String;
Und bevor du Show oder ShowModal aufrufst, setze die Variable Form.vonForm := 'komme von ???';
Dann brauchst nur noch eine if-Abfrage.
Oder man macht im public-Teil zwei Methode.
Je nachdem von wo es aufgerufen willst, rufst du vonFormX oder Y auf.
Deklariere im public-Teil eine Variable, zB. vonForm:String;
Und bevor du Show oder ShowModal aufrufst, setze die Variable Form.vonForm := 'komme von ???';
Dann brauchst nur noch eine if-Abfrage.
Oder man macht im public-Teil zwei Methode.
Code: Alles auswählen
procedure vonFormY();
procedure vonFormY()
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot