Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - Varibale in einer anderen unit weiter verwenden


Darki - Mo 06.10.03 19:09
Titel: Varibale in einer anderen unit weiter verwenden
Grüß Euch,

ich hätte da so ein kleines Problem, und würde mich freuen wenn Ihr mir weiter helfen könntet.

Folgendes.

Ich habe im Form2 eine Varibale namens DynGehalt, mit dieser soll im Form3 eine Berechnung stattfinden.

habe im form3 folgendes stehen:


Quelltext
1:
Einkommen := strtofloat (form2.label99.caption);                    


wenn ich jetzt die berechnung starte kommt folgende fehlermeldung:
'label99' ist kein gültiger gleitkommawert.

Wenn ich es so probiere:


Quelltext
1:
Einkommen := strtofloat (form2.dyngehalt.caption);                    


heißt es nur, dass dyngehalt nicht definiert ist......

Würde mich über Hilfe echt freuen.

cya

Darki


TomT - Mo 06.10.03 20:18

Hi,
schau doch mal, ob in der caption von label99 auch wirklich ne gleitkommazahl steht und nicht 'label99'.

MFG TomT


Darki - Mo 06.10.03 20:24

jo, da sehe ich auch die ganze zeit das problem :-)

wie kann ich denn erreichen, dass ich eine variable aus form 2 in form3 benutze?

dann muß ich das mit dem label nicht machen.....

cya


TomT - Mo 06.10.03 20:32

entweder solltest du die Unit in der sich deine Variable befindet in der anderen bekannt machen:

Delphi-Quelltext
1:
uses Windows,...., unit2;                    

dann kannst du die Variable verwenden, außer sie gehört zu der Klasse Form2. In dem Fall solltest du die Variable im Public-bereich definieren und kannst sie im Anschluss in Form3 so zum Beispiel

Delphi-Quelltext
1:
 form2.MeineVariable := 2.3;                    

verwenden


Darki - Mo 06.10.03 20:39

hmmm

unter uses hatte ich die unit natürlich drin.

wie du das mit der global variable meinst verstehe ich nicht, kenne die globale zwar von perl, weiß aber nicht wie ich die in delphi machen soll..... :?:

Wäre dir echt dankbar wenn du das für einen delphi newbie genau erklären könntest.

:wink:

cya


TomT - Mo 06.10.03 20:44


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
type
  TForm2 = class(TForm)
    Panel2: TPanel;
    Button2: TButton;
    Panel2: TPanel;
  private
    { Private declarations }
  public
    { Public declarations }

     Meinevariable : double; //Hier definierst du deine Variable
 
  end;


Dadurch bekommen andere Programmteile außerhalb des Form2 die "Erlaubnis", die Variable zu benutzen.


Darki - Mo 06.10.03 21:00

Jetzt klappt es fast, schnmal tausend dank.

Habe jetzt noch folgendes problem, damit ich das erläutern kann muß ich aber kurz mal ausholen.

person (40 Jahre) a verdienst z.B.: 2000 Euro/Monat.

Jetzt wird gerechnet das person a pro Jahre bis zu seinem 62 geburtstag x % mehr gehalt bekommt.

mit dem wert wird dann in form 3 die rente berechnet. die rente soll dann in einem label auf form2 angezeit werden.

das klappt ja auch alles, nur wenn ich das gehalt ändere muß ich auf form2 ZWEI mal den button drücken, damit die rente aktualisiert wird.

hoffe das hier wer mitgekommen ist :-)

wer mir helfen kann, würd mich echt freuen

cya