Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Variable übernehmen (https://www.delphipraxis.net/111650-variable-uebernehmen.html)

fReaQy 7. Apr 2008 13:07


Variable übernehmen
 
Hallo...
Ich arbeite zur Zeit an einem Roulettespiel.

Ich habe 2 TForm ( TForm1, TForm2 )

ich habe aber in TForm2 eine Variable die ich aber auch in TForm1 brauche.
Und ich müsste die Zahl die in der Variable in TForm2 ist übernehmen nach TForm1.

Vl wisst ihr wie ich dass hinbekomme!!!

Danke im Voraus

s-off 7. Apr 2008 13:13

Re: Variable übernehmen
 
Hallo,

setze Dich mal mit Sichtbarkeiten (private, protected, public) und Properties auseinander.

oldmax 8. Apr 2008 05:36

Re: Variable übernehmen
 
Hi
Wenn du eine Variable in verschiedenen Formularen benötigst+, deklarierst du in einem Formular die Variable im Publikbereich.

Delphi-Quellcode:
Public
  My_Global_Var : Integer;
  Function ....
  Procedure ...
  ...
end;
Im anderen Formular kannst du dann auf die Variable unter Angabe des (Haupt) Formulares diese Variable benutzen

Delphi-Quellcode:
My_Haupt_Form.My_Global_Var:=Nebenform_Var;
bzw.
Delphi-Quellcode:
Nebenform_Var:=My_Haupt_Form.My_Global_Var;
Beim Compilieren wirst du dann gefragt, ob du das (Haupt) Formular in die Uses-Klausel einbinden möchtest. Das bestätigst du und dann geht's.
Ich benutze allerdings für Variablen, die in mehreren Fenstern angsprochen werden müssen ein Datenmodul. Damit habe ich immer ie Übersicht, und außerdem setze ich es sowieso für die Datenbankkomponenten ein.
Gruß oldmax

alzaimar 8. Apr 2008 05:43

Re: Variable übernehmen
 
Ich fände es sauberer, dafür ein 'Datenmodul' zu verwenden, nur nicht das TDatamodule der VCL, das ist ein overkill. Gemeinsam genutzte Daten sollten nicht überkreuzte Abhängigkeiten verursachen, denn die Zuständigkeit ist so nicht eindeutig geklärt. Ich versuche, sofern möglich und sinnvoll, eine strenge Hierarchie bezüglich der Abhängigkeiten zu erhalten.

Ich würde überlegen, eine eigene Unit zu implementieren, die alle gemeinsamen Werte verwaltet. Wenn Du Aversionen gegen globale Variablen hast, dann erzeuge eben eine Klasse 'TGemeinsameWerte' und deklariere dort deine Variable als Eigenschaft.
Delphi-Quellcode:
Unit SharedData;
Type
  TGemeinsameWerte = Class
  Public
    Property MyValue : ...
...
End.
Form1 und Form2 können nun diese Unit bequem im Implementation-Teil importieren.

Edit: Oldmax hat das ja schon erzählt... Is noch zu früh ... :oops:

fReaQy 8. Apr 2008 05:59

Re: Variable übernehmen
 
danke danke danke
super
ihr seit die besten !!! =)


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:16 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