![]() |
Variablen übergeben
Hallo
ich habe eine globale integer Varible vI in einer form1, der durch ein Ereignis ein Wert zugewiesen wird. Durch ein anderes Ereignis wird eine neue Form aufgerufen und durch das form2.create Ereignis auf einem edit Feld auf Form2 die Variable vI ausgegeben. Jetzt das Problem: In dem Editfeld erscheint immer eine Null, obwohl die Variable garantiert nie den Wert 0 hatt. Hoff ihr könnt mir helfen. :-D |
Re: Variablen übergeben
Dann Debugge dochmal Dein Programm und stelle 100%ig fest ob die Variable wirklich >0 ist.
|
Re: Variablen übergeben
Was verstehst du unter global ? Wenn du die Variable als Feld in eine Klasse scheibst, ist sie nicht global und wird bei jeder Instanz der Klasse mit 0 initialisiert und jede Instanz hat seine eigene Kopie dieses Feldes. Global ist eine Variable, wenn sie in keiner Klasse und Funktion deklariert ist. Als bestes Beispiel dienen hier die Form-Variablen:
Delphi-Quellcode:
TForm1 = ...
var Form1: TForm1; // <-- das ist eine globale Variable |
Re: Variablen übergeben
Meine Variable sieht so aus
Delphi-Quellcode:
Ist vI etwa nicht global. Hab ich zumindestens im Info Unterricht so gelernt.
var
Form1: TForm1; //die ist global vI : Integer; //die doch auch |
Re: Variablen übergeben
Moin Hummer,
doch die Variable ist global. Ich denke mal, ich weiss, wo der Fehler ist. Du gehst davon aus, dass das Form2 erzeugt wird, wenn Du es aufrufst. Ohne Eingriff in die Projektdatei, werden aber alle Formulare schon beim Programmstart erzeugt, so dass die Variable zu diesem Zeitpunkt den Wert 0 hat. Erst wenn Du das Erzeugen des Formulares aus der Projektdatei herausnimmst, und vor dem Anzeigen dynamisch erzeugst würdest Du den gerade aktuellen Wert der Variablen erwischen. Verlagere einfach mal den Inhalt des OnCreate Ereignisses in das OnShow Ereignis. |
Re: Variablen übergeben
Super Danke funktioniert sofort. :thuimb:
:bounce1: :bouncing4: :firejump: :bounce2: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:44 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