![]() |
Variablen von Form1 zu Form2 übertragen
Moin,
wie ist es möglich zb eine Variable von Form 1 auf Form 2 zu übergeben/übertragen ? mfG, Nico |
Re: Variablen über Formen übertragen
Was meinst Du damit?
|
Re: Variablen von Form1 zu Form2 übertragen
Ich habe jetzt verschiedene Eingabe in Form 1 gemacht zb
Wohnort etc diese habe ich dann in einer Variablen gespeichert. Diese möchte ich jetzt jedoch auch in Form 2 benutzen können. mfG, Nico |
Re: Variablen von Form1 zu Form2 übertragen
Definiere sie doch als Property von Form1, das ist IMHO die sauberste Lösung.
|
Re: Variablen von Form1 zu Form2 übertragen
Hallo,
nimm eine 3. unit. Packe dort deine Variablen (Records, Klassen) rein in den interface-Teil und binde diese "Data"-Unit in beide Form-Units ein. Heiko |
Re: Variablen von Form1 zu Form2 übertragen
Habt ihr vielleicht nen konkretes Beispiel, wie
soetwas aussehen könnte? Aber danke erstmal für die vielen Antworten. |
Re: Variablen von Form1 zu Form2 übertragen
Delphi-Quellcode:
Abfragen kannst Du dann mit
type TMainForm = class(TForm)
... private { Private-Deklarationen } FEinWert: integer; public { Public-Deklarationen } property EinWert: integer read FEinWert; //ReadOnly-Property kann von außen nicht geändert werden end;
Delphi-Quellcode:
MainForm.EinWert
|
Re: Variablen von Form1 zu Form2 übertragen
Danke, werde es sofort einmal ausprobieren :thumb:
mfG, Nico |
Re: Variablen von Form1 zu Form2 übertragen
Hab das jetzt mal ausprobiert, leider taucht
dort noch ein Fehler aus (welcher wahrscheinlich von meinem Unverständnis kommt :oops: )
Delphi-Quellcode:
Fehler:
private
{ Private-Deklarationen } FAdresseAbfahrt, FPlzAbfahrt, FStadtAbfahrt, FAdresseAnkunft, FPlzAnkunft, FStadtAnkunft : String; public { Public-Deklarationen } property AdresseAbfahrt, PlzAbfahrt, StadtAbfahrt, AdresseAnkunft, PlzAnkunft, StadtAnkunft : String read FAdresseAbfahrt, FPlzAbfahrt, FStadtAbfahrt, FAdresseAnkunft, FPlzAnkunft, FStadtAnkunft; end; [Fehler] Routenplaner1.pas(32): Eigenschaft 'AdresseAbfahrt' existiert nicht in Basisklasse [Fehler] Routenplaner1.pas(32): Ungültige Compileranweisung: 'read' [Fehler] Routenplaner1.pas(32): Bezeichner redefiniert: 'FPlzAbfahrt' ... [Fehler] Routenplaner1.pas(32): Bezeichner redefiniert: 'FStadtAnkunft' usw mfG, Nico |
Re: Variablen von Form1 zu Form2 übertragen
Auch wenn es mehr Tipparbeit ist, Du musst die Properties schon einzeln definieren.
Delphi-Quellcode:
property AdresseAbfahrt: string read FAdresseAbfahrt;
property PlzAbfahrt: string read FPlzAbfahrt; ... |
Re: Variablen von Form1 zu Form2 übertragen
Ok, Danke
und wenn ich jetzt zb auf der Form1 2 in die Variable AdresseAbfahrt speichern will mache ich dass dann auch ganz normal? So:
Delphi-Quellcode:
Bzw.:
AdresseAbfahrt := '2';
Wenn ich die 2 der Variable auf der Form1 zugewiesen habe, kann ich diese Variable dann auch auf Form2 ganz normal anzeigen lassen? also so:
Delphi-Quellcode:
oder muss ich die irgendiwe anders abrufen?
Label1.caption := AdresseAbfahrt;
mfG, Nico |
Re: Variablen von Form1 zu Form2 übertragen
Du kannst nicht direkt in AdresseAbfahrt schreiben, da Du sie ja ReadOnly definiert hast. Stattdessen schreibst Du in Form1 (nur dort geht das nämlich):
Delphi-Quellcode:
In Form2 kannst Du dann z.B. schreiben
FAdresseAbfahrt := 'Nirgendwo'; //die private Variable belegen
Delphi-Quellcode:
ShowMessage(Form1.AdresseAbfahrt);
|
Re: Variablen von Form1 zu Form2 übertragen
Klappt jetzt alles bestens,
danke noch einmal. mfG, Nico |
Re: Variablen von Form1 zu Form2 übertragen
Hi, habe grad das gleiche Problem, aber bei mir wird immer irgenwie der wert 0 übertragen, muss ich das besondes deklariren, oder was mach ich falsch?
Hier der code:
Delphi-Quellcode:
Was mach ich falsch?
private
{ Private declarations } FAbstand3: Integer; public { Public declarations } property Abstand3: integer read FAbstand3; end; . . . procedure TForm1.Button1Click(Sender: TObject); var Abstand3 :Integer; begin Abstand3 := 5; end; // Und so rufe ich es auf in Form3 auf: procedure TForm3.Button1Click(Sender: TObject); begin ShowMessage (inttoStr(Form1.Abstand3)); end; Als Message steht da immer 0 Danke im Voraus MfG Power-Poler Hat sich erledigt, habe das F beim eintragen des Wertes übersehen, sorry :oops: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:55 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