Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Zweites Fenster (https://www.delphipraxis.net/1622-zweites-fenster.html)

Privateer3000 14. Dez 2002 10:51


Zweites Fenster
 
Hallo Leuts,
der Privateer mal wieder!

Hab mal ne Frage:
Grundgedanke ist ein Programm mit 2 Forms.Beide sollen gleichzeitig dargestellt werde.In einem (Form1) befinden befinden sich Edits in dem anderen Labels.Wenn nun in einem Edit in Form 1 die Eingabe geändert wird soll das in Form2 angezeigt werden.
Soweit sogut.Irgendwie geht nicht.Wenn Form2 sichtbar ist kann ich nicht auf Form1 zugreifen.Obwohl Form2 nicht modal ist.

Helft mir mal bitte!

Grüsse und einen schönen 3.Advent!

Privateer3000

Daniel B 14. Dez 2002 11:01

Hallöchen,

in Unit1, nimmst Du in den Uses Unit2 mit auf. Und in Unit2, noch Unit1. Somit kannst Du nun aufeinander zugreifen.
In den OnChange der Edits schreibst DU dann: Form2.Label1.Caption := Edit1.Text;
It's so easy... ;)

Grüsse, Daniel :hi:

Privateer3000 14. Dez 2002 12:10

Hi Daniel,

"Und in Unit2, noch Unit1" stimmt das hab ich vergessen.
Aber wann starte ich Form2? Wenn ich es in Form1 mache,
Oncreate - Form2.Show - gibts ne Exception.Mal von der angedeuten Syntax abgesehen.Im Programm steht es richtig.

Mit OnActivate, dasselbe.

hhmm

Sebastian Nintemann 14. Dez 2002 12:40

Hallo, du kannst Form2 nicht im OnCreate Ereignis von Form1 anzeigen, weil Form2 zu dem Zeitpunkt noch nicht existiert. Du kannst aber die Eigenschaft visible von Form2 auf true setzen (im ObjektInspektor), dann wird es automatisch erstellt.

Gruß, Sebastian

Daniel B 14. Dez 2002 13:51

Hi,

im Create ist es auch noch viiel zu früh. Versuch es mal im OnShow von Form1.

Grüsse, Daniel :hi:

d3g 14. Dez 2002 15:39

Das müsste am elegantesten im Projektquelltext zu machen sein (Ansicht|Projektquelltext oder einfach mal F8 drücken, dann landet man nämlich nach dem Starten der Ausführung gleich beim begin im Projektqueltext). Dort trägst du unter Application.Run() Form2.Show() ein.

MfG,
d3g

Privateer3000 15. Dez 2002 00:53

Vielen Dank.
Jetzt funzt alles so wie ich haben wollte.
Jetzt noch ne Frage hinterher.
Wie kann ich den Inhalt, eine Fliesskommazahl, temporär zwischenspeichern kann? Ergeben soll sich ob die Eingebene Zahl höher ist oder tiefer als die usprüngliche.

Grüsse
Privateer3000

Sebastian Nintemann 15. Dez 2002 12:00

Was funktioniert denn dabei nicht? einfach ne globale Variable deklarieren und den das was rein soll darein speichern.

Gruß, Sebastian


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:27 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 by Thomas Breitkreuz