Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - variable auf anderer form deklariert


Zlatan - Di 12.04.11 14:17
Titel: variable auf anderer form deklariert
Ich habe auf Form1 g als integer deklariert. Diese wird weiterhin benötigt.
Nun habe ich weitere formen 2,3,4 und 5.
Nur bei der Fünften gibt es Probleme (undefinierter Bezeichner g)
Hier mein Quelltext, bitte korrigieren, ok?
dankeschön Zlatan


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
begin
 if g<300 then begin showmessage('Zu wenig Geld'); end       ///in dieser zeile nur
else if g >= 300 then begin Form1.Waffe.Caption:='G36C';
Form2.Waffe2.Caption:='G36C';
Form3.Waffe3.Caption:='G36C';
Form5.Waffe4.Caption:='G36C';
p:=35;
g:= g -300;
Form1.geld.Caption:= inttostr(G) +' $';
Form2.geld2.Caption:= inttostr(G) +' $';
Form3.geld3.Caption:= inttostr(G) +' $';
Form5.geld4.Caption:= inttostr(G) +' $';
Image2.Hide; end
end;



Moderiert von user profile iconNarses: Topic aus Sonstiges (Delphi) verschoben am Di 12.04.2011 um 15:43


Gausi - Di 12.04.11 14:27

Füge Unit1 bei Form5 in die uses-Liste mit ein. Wenn es dann einen Kreuzbezug gibt (sehr wahrscheinlich ist das so), dann musst du unter implementation eine eine neue uses-Liste einfügen und Unit1 dort eintragen


Zlatan - Di 12.04.11 14:29

So?

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, jpeg, ExtCtrls, StdCtrls;
......
var
  Form5: TForm5;

implementation

uses Unit3, Unit2, Unit1;


Gausi - Di 12.04.11 14:30

Ja, das sollte so funktionieren. :)


Zlatan - Di 12.04.11 14:32

leider nicht, das ist nämlich der text , den ich schon die ganze zeit hatte :(
noch ne andere idee???


Gausi - Di 12.04.11 14:33

Ist g denn wirklich eine globale Variable, oder eine Variable (oder Property) der Klasse TForm1?


Zlatan - Di 12.04.11 14:34

ich hab ne idee :think:
kann es sein das der fehler daran liegt, das in unit1 unter uses nicht unit5 ist?
und ja die ist global

---Moderiert von user profile iconNarses: Beiträge zusammengefasst---

ne doch nicht :autsch:
Vielleicht ein Speicherfehler?
Aber warum funktioniert das dann bei allen anderen units
Ich zeig einfach mal meine deklaration in unit1

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
var
  Form1: TForm1;
  p : integer;
  z : integer;
  g : integer;

implementation

uses Unit3, Unit2, Unit4, Unit5;

{$R *.dfm}



In Unit2 steht noch Could not compile used unit5.pas
Was hat das zu bedeuten?

MIr fällt gerade auf, dass es in meinem Ordner keine datei unit5.dcu gibt
schlimm???


Zlatan - Di 12.04.11 14:54

ok, der fehler ist weg(leerzeichen?)
aber da steht : could not create output file

Sollte ich dafür ein neues thema machen?