Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Setzen von Wert einer Var. auf Mainform von anderer Form und auslesen des Wertes (https://www.delphipraxis.net/165244-setzen-von-wert-einer-var-auf-mainform-von-anderer-form-und-auslesen-des-wertes.html)

bwolf 20. Dez 2011 09:54

Delphi-Version: 2009

Setzen von Wert einer Var. auf Mainform von anderer Form und auslesen des Wertes
 
Hi Leute,

habe grade ein komisches Problem:
In einer Anwendung setze ich von Form2 aus einen Wert auf Form1, z.B:

Code:
Form1.Button1.tag = 4711;
Nun will ich auf Form1 den Tag des Buttons auslesen und habe dabei folgendes Verhalten:

Code:
Button1.tag; // Zeigt im Debugger 0 an!
Form1.Button1.Tag // Debugger zeigt den richtigen Wert an
Hat einer einen Idee was das ist?
Danke!

DeddyH 20. Dez 2011 09:59

AW: Setzen von Wert einer Var. auf Mainform von anderer Form und auslesen des Wertes
 
Mal abgesehen davon, dass ich die Vorgehensweise nicht für sonderlich elegant halte, könnte es sich evtl. um ein Problem des Debuggers handeln? Was bekommst Du, wenn Du zur Laufzeit mal "beide" Werte per ShowMessage o.ä. ausgeben lässt?

Bummi 20. Dez 2011 10:02

AW: Setzen von Wert einer Var. auf Mainform von anderer Form und auslesen des Wertes
 
Du wirst auf Form2 auch einen Button1 haben ....

bwolf 20. Dez 2011 10:05

AW: Setzen von Wert einer Var. auf Mainform von anderer Form und auslesen des Wertes
 
Hi DeddyH,

bei der Ausgabe bekomme ich das gleiche wie im Debugger - 0 bzw 4711.


@Bummy:
Nein, ich habe auf Form2 keinen Button1, was aber auch egal wäre da ja auf den Button1 von Form1 zugegriffen wird.

Bernhard Geyer 20. Dez 2011 10:05

AW: Setzen von Wert einer Var. auf Mainform von anderer Form und auslesen des Wertes
 
Zitat:

Zitat von Bummi (Beitrag 1142351)
Du wirst auf Form2 auch einen Button1 haben ....

2 Zeilen Code des Threaderstellers und 2 grundsätzliche Fehler bezüglich wartbaren und fehlerfreien(armen) Code gemacht ...

neo4a 20. Dez 2011 10:06

AW: Setzen von Wert einer Var. auf Mainform von anderer Form und auslesen des Wertes
 
Zitat:

Zitat von bwolf (Beitrag 1142349)
Hat einer einen Idee was das ist?
Danke!

Du greifst auf 2 verschiedene Instanzen von Form1 zu?

BTW, da freut sich die "Glaskugel", dass sie auch wieder einmal gebraucht wird - meint: ohne präzisere Infos, bleibt alles nur Hellseherei. Mal sehen, wer den Treffer landet.

DeddyH 20. Dez 2011 10:08

AW: Setzen von Wert einer Var. auf Mainform von anderer Form und auslesen des Wertes
 
Wenn Du schon unitübergreifend ändern musst, dann deklarier Dir doch eine Methode von TForm1, die Du dann aus dem anderen Formular heraus aufrufst. Innerhalb dieser Methode greift dann nur noch die TForm1-Instanz auf ihre Komponenten/Daten/etc. zu. Dann solltest Du auch keine Probleme bekommen, wenn es mal mehrere Instanzen von TForm1 geben sollte.

bwolf 20. Dez 2011 10:13

AW: Setzen von Wert einer Var. auf Mainform von anderer Form und auslesen des Wertes
 
Danke nochmal für eure Antworten!

Ich muss nicht unbedingt formübergreifend ändern, mir ist diese verhalten eben zufällig aufgefallen und ich finde keine Erklärung - wüsste aber eben trotzdem gerne was da los ist.

@Neo: Nein die Formulare sind eindeutig benannt.
Sorry für die wenigen Infos, aber ich weiß nicht wirklich was genau ich hie ran Infos posten soll.

DeddyH 20. Dez 2011 10:16

AW: Setzen von Wert einer Var. auf Mainform von anderer Form und auslesen des Wertes
 
Falls es nicht geheim oder riesig ist oder exotische Fremdkomponenten verwendet, kannst Du das Projekt ja einmal anhängen.

bwolf 20. Dez 2011 10:47

AW: Setzen von Wert einer Var. auf Mainform von anderer Form und auslesen des Wertes
 
Argh, das Problem war das das Formular bei Programmstart 2 mal erzeugt wurde.
Dadurch gabs dann frmMain und frmMain_1 und es wurde natürlich aufs falsche Projekt zugegriffen.
Sorry + Danke für eure Hilfe :?

neo4a 20. Dez 2011 10:51

AW: Setzen von Wert einer Var. auf Mainform von anderer Form und auslesen des Wertes
 
Zitat:

Zitat von bwolf (Beitrag 1142368)
Argh, das Problem war das das Formular bei Programmstart 2 mal erzeugt wurde.

Zitat:

Zitat von neo4a
Du greifst auf 2 verschiedene Instanzen von Form1 zu?
...
Mal sehen, wer den Treffer landet.

Gewonnen! Bei so viel Glück spiele ich noch heute in der spanischen Weihnachtslotterie, weil da gibt's 2,5 Milliarden Euro ... für mich.

BeBored 20. Dez 2011 13:59

AW: Setzen von Wert einer Var. auf Mainform von anderer Form und auslesen des Wertes
 
Zitat:

Zitat von neo4a (Beitrag 1142370)
Zitat:

Zitat von bwolf (Beitrag 1142368)
Argh, das Problem war das das Formular bei Programmstart 2 mal erzeugt wurde.

Zitat:

Zitat von neo4a
Du greifst auf 2 verschiedene Instanzen von Form1 zu?
...
Mal sehen, wer den Treffer landet.

Gewonnen! Bei so viel Glück spiele ich noch heute in der spanischen Weihnachtslotterie, weil da gibt's 2,5 Milliarden Euro ... für mich.

Sorry aber DAS war dein Glückstreffer.. hättest du statt dessen Lotto gespielt...

neo4a 20. Dez 2011 14:11

AW: Setzen von Wert einer Var. auf Mainform von anderer Form und auslesen des Wertes
 
Zitat:

Zitat von BeBored (Beitrag 1142422)
Zitat:

Zitat von neo4a (Beitrag 1142370)
Gewonnen! Bei so viel Glück spiele ich noch heute in der spanischen Weihnachtslotterie, weil da gibt's 2,5 Milliarden Euro ... für mich.

Sorry aber DAS war dein Glückstreffer.. hättest du statt dessen Lotto gespielt...

Geht's noch? Nur, um mir DAS zu sagen, riskierst Du, über Deinen Schnitt von 8 Antworten pro Jahr zu kommen?

Leute gibt's ...

himitsu 20. Dez 2011 14:43

AW: Setzen von Wert einer Var. auf Mainform von anderer Form und auslesen des Wertes
 
Und nun eine ganz einfache Lösung: Finger weg von dieses bösen globalen Variablen.

Abgesehn davon, daß es vom Verständnis her etwas "blöde" ist, wenn man Form1 ausließt, darin aber eine Form2 findet und am Ende beide Bezeichner sowieso grauenhaft benannt sind.


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