Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Problem mit globaler Variable (https://www.delphipraxis.net/141048-problem-mit-globaler-variable.html)

Major1337 1. Okt 2009 09:54


Problem mit globaler Variable
 
Habe ein Problem mit einer globalen Variable. Die Variable habe ich nicht in der Main sondern in einer anderen global deklariert.
Im Quellcode erkennt er beide Variablen (String).

Zunächst habe ich versucht lokal die Variable auszugeben:

Delphi-Quellcode:
Test := (FInput[index] as TLabel).Caption;
ShowMessage ( Test );
Das klappt auch noch wunderbar ;-)


Wenn ich aber nun:

Delphi-Quellcode:
// unit MainForm
Test := (FInput[index] as TLabel).Caption;


// unit TestForm
ShowMessage (Test );
...meckert er, dass es eine Zugriffsverletzung sei -.-

DeddyH 1. Okt 2009 10:02

Re: Problem mit globaler Variable
 
Wo "meckert" er? An welcher Stelle tritt die AV auf? Ist index gültig?

hoika 1. Okt 2009 10:05

Re: Problem mit globaler Variable
 
Hallo,

Zitat:

Habe ein Problem mit einer globalen Variable. Die Variable habe ich nicht in der Main sondern in einer anderen global deklariert.
Im Quellcode erkennt er beide Variablen (String).
Du widersprichst dich ...

Entweder du hast eine globale Variable oder es sind zwei.


Hast du Test vielleicht nochmal definiert ?

Benenne die globale Variable doch mal um (sTest_Global).

Ein Projekt-Build zeigt dir dann an, wo du sie verwendest.

Wenn es schon eine globale Variable sein soll,
würde ich den Zugriff kapseln

procedure SetTestGlobal(const Value: String);
function GetTestGlobal: String;


Heiko

Major1337 1. Okt 2009 10:11

Re: Problem mit globaler Variable
 
Hey,

sorry, die Meldung kam als ich die Form aufrufen wollte und ich dachte der letzte Part den ich programmiert habe hat damit etwas zu tun gehabt. Aber der Fehler war an einer ganz anderen Stelle im Quellcode. ;-)

hoika 1. Okt 2009 11:46

Re: Problem mit globaler Variable
 
Hallo,

mache es trotzdem so wie ich gesagt habe.
Dann kannst du bei Problemen einfach einen Breakpoint auf die Set-Methode setzen.


Heiko

stho 1. Okt 2009 11:49

Re: Problem mit globaler Variable
 
Kann es dein dass das 2 verschiedene Formen sind?
Du müsstest die dann in die Uses eintragen (Die Form von der du die Variable haben möchtest)


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