![]() |
Variablen Unitübergreifend übergeben
Hi, also ich habe das Problem, dass bei einem Programm von mir eine Variable nicht "Untiübergreifend" weitergegeben wird.
Ich habe a im publicteil als Integer definiert, aber das reicht anscheinend nochnicht um die Variable a aus Unit 1 zu Unit2 zu übergeben... Wie macht man das ? (a verändert sich im laufe des Programms was Unit 1 macht, also kann ich sie nicht als constante angeben) Danke für die Hilfe schonmal im voraus ! [edit=SirThornberry]Titel angepasst - nur eine frage pro Thread/Thema - und das "neu" entfernt - Mfg, SirThornberry[/edit] |
Re: Variablen Unitübergreifend übergeben
Ich würde sie als Property des Formulars definieren.
|
Re: Variablen Unitübergreifend übergeben
Oder du erstellst eine neue Unit beispielsweise "globals.pas" und definierts in ihr deine globalen Variablen. Diese Unit bindest du dann in alle anderen units ein, die diese Variablen benötigen.
|
Re: Variablen Unitübergreifend übergeben
wenn du sie im "publicteil" deklariert hast ist das immer ein Feld einer klasse, du musst also zuerst auf die klasse, dann auf die variable zugreifen, also
instanz.variable := 1; |
Re: Variablen Unitübergreifend übergeben
Danke, ich hab es mit
Delphi-Quellcode:
hinbekommen !
Edit1.Text := IntToStr(Unit1.Form1.a)
Jetzt aber meine Frage... da die Unit2 das Optionsfenster ist habe lasse ich die Werte beim öffnen des Fensters auslesen
Delphi-Quellcode:
Das Fenster lasse ich mit einem form2.hide verschwinden...
procedure TForm2.FormCreate(Sender: TObject);
begin Edit1.Text := IntToStr(Unit1.Form1.a); end; Das PRoblem ist jetzt das sich mein a nur einmal "aktualisiert" und er das a nicht immerwieder bei form2.show aktualisiert ! Ich habe mir dann gedacht das vllt.
Delphi-Quellcode:
daran etwas ändert... tut es aber leider nicht...
procedure TForm2.FormCreate(Sender: TObject);
begin Edit1.Text := IntToStr(Unit1.Form1.a); Edit1.Refresh; end; Meine Frage daher, wie kann ich im Edit1.Text das aktuelle a anzeigen lassen OHNE extra einen button bei dem Optionsfenster wie "Refresh" einbauen zu müssen ?! |
Re: Variablen Unitübergreifend übergeben
Hi,
ich kombiniere die von Detlef und Christian vorgeschlagenen Ideen. Ich hab eine Unit (z.B. uglobals.pas), dort ist eine Klasse drin, welche wiederum Propertys besitzt. Mike, schreib das nicht ins OnCreate, sondern ins OnShow ;) |
Re: NEW|Variablen Unitübergreifend übergeben & Case...of
bitte nur eine Frage pro Thread :-) für eine weitere Frage, mache bitte ein neues Thema auf. Danke :-D
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:57 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