Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Komponente auf anderer Form einen Wert zuweisen
Heino - Fr 06.06.03 19:59
Titel: Komponente auf anderer Form einen Wert zuweisen
Hallo!
Wie kann ich aus einer Pocedure im Hauptformular einer Komponente auf einem anderen Formular einen Wert zuweisen. wenn ich z.B.
zweitesFormular.led.digits:= 123; eingebe zeigt er mir sobald der Punkt nach zweitesFormular eingegeben ist auch alle Eigenschaften der Komponente auf dem anderen Formular an und meckert auch nicht, aber sobald ich F9 drücke stürzt mein Programm ab.
Vielen Dank
Heino
Moderiert von
Tino: Delphi-Tags hinzugefügt. Absätze entfernt.
GruppeCN - Fr 06.06.03 21:11
Der Fehler muss wo anderes liegen.
Heino - Fr 06.06.03 21:33
Titel: Komponente auf einem anderen Formular einen Wert zuweisen
Hallo
Es musss an der Zeile liegen
Delphi-Quelltext
1:
| frmAuswahl.ledItalien.Value:= IntToStr(123); |
frmAuswahl entspricht dem Formularname und ledItalien ist eine
Komponente wenn ich nur diese Zeile auskommentiere
dann läuft mein Programm wieder. hat es eventuell etwas unit deklarationen in uses Anweisungen zu tun ?
Danke
Moderiert von
Tino: Delphi-Tags hinzugefügt.
GruppeCN - Fr 06.06.03 21:37
Such mal nach der Zeile
Wenn es die nicht gibt, liegt es daran.
Heino - Fr 06.06.03 22:04
Titel: Komponente wert zuweisen
Hallo
Ich habe den Fehler gefunden aber leider nicht behoben. der Fehler ist das ich den Wert der Komponente auf dem anderen Formular im Ereignis OnShow programmiert habe. Wenn ich einen Button platziere und es im Click Ereignis programmiere funktioniert es. Ich möchte aber beim Programmstart automatisch die Anzahl der Zeilen aus einer Datei auslesen und in die ledAnzeige auf dem anderen Formular bringen. Denn wenn ich die Datei ändere soll beim Programmstart automatisch die neue Zeilenanzahl angezeigt werden.
Heino
Wolff68 - Mo 09.06.03 17:47
Also ich weis jetzt nicht genau welche Komponente bei Dir
ledItalien ist, aber die Eigenschaft
.Value ist meist ein Integer und kein String. Also eher
frmAuswahl.ledItalien.Value := 123 und nicht
IntToStr(123).
Das andere Problem ist gravierender. Machst Du das in der
OnCreate der Hauptform ist unter Umständen frmAuswahl noch gar nicht erzeugt. Deshalb wird dann auch Dein Programm abstürzen.
Probier mal das ganze in der Hauptform unter
OnActivate zu verschieben. Da sollte das Unterfenster bereits vorhanden sein.
Wenn auch das nicht hilft kannst mal versuchen das Unterformular VOR dem Hauptvormular erzeugen zu lassen. (Das kann aber auch total in die Hose gehen!)
Du findest die Aufrufe im Quelltext des eigentlichen Programmes (Ansicht-Units und die 'unit' des eigentlichen Programmes auswählen) Sollte in der ersten Zeile mit
program anfangen statt mit
unit.
Weiter unten findest dann die Formular-Aufrufe:
Quelltext
1: 2:
| Application.CreateForm(TForm1, Form1); Application.CreateForm(TfrmAuswahl, frmAuswahl); |
Tausche die beiden einfach mal aus.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!