Hallo Leute!
Neulichst hatte ich mal wieder einen tollen Effekt. Dieser Effekt ist aber auch eigentlich logisch. Ich brauchte nur etwas, um dahinter zu steigen.<br>
Also, folgendes Problem:<br>
Ich habe ein kleines Programm geschrieben. Beim Start dieses Programm wird ein Wert aus der Registry ausgelesen. Und je nach dem wie der Wert ausfällt, wird eventuell eine <B>CheckBox</b> auf <b>Checked</b> gesetzt.<br>
So weit, so gut.<br>
Diese Funktion alleine läuft auch richtig gut. Das Programm arbeitet so, wie ich mir das vorgestellt hatte.<br>
Nun möchte ich eine weitere Funktion implementieren. Der Anwender soll auch die Möglichkeit haben, die CheckBox zu betätigen. Darauf hin soll dann der zuvor ausgelesene Wert in der Registry verändert werden. Also baute ich einfach ein <b>OnClick-Ereignis</b> für die <b>CheckBox</b> ein.<br>
Das schaut dann in etwa so aus:<br>
procedure TForm5.CheckBox1Click(Sender: TObject);<br>
begin<br>
if CheckBox1.Checked=True then ...<br>
...<br>
...<br>
else<br>
...<br>
...<br>
Tja, da liegt nun aber das eigentliche Problem.<br>
Wenn ich das Programm so starte, dann läuft mein Programm ins Nirvana.<br>
Hätte ich nicht W2K, so hätte ich den Rechner bestimmt neustarten müssen.
Nun habe ich mal Fehleranalyse betrieben und bin der Meinung den Fehler erkannt zu haben.<br>
Es läuft ja so ab:<br>
Das Programm startet und prüft einen Wert in der Registry. Steht dort ein bestimmter Wert, so wird die <b>CheckBox</b> auf <b>Checked</b> gesetzt. Und dann kommt der Hammer, das Programm haut sich fest. Wahrscheinlich liegt es daran, dass dieses Setzen des Häckchens als ein <b>OnClick-Ereignis</b> angesehen wird. Aber auf das <b>OnClick-Ereignis</b> erfolgt ja in meinem Programm eine Reaktion. Und fertig ist der Salat.<br>
Das kuriose ist, dass das ganze aber funktioniert, wenn ich das mit einem Menü-Item mache. Den kann man ja auch wunderbar mit einem Häckchen versehen. Aus bestimmten Gründen kommt so ein Menü-Item für mein Programm aber nicht in Frage. Ich muss unbedingt eine CheckBox verwenden.<br>
Meine Frage ist nun, ob mir jemand bei diesem Problem helfen kann!<br>
Für ein paar Tipps wäre ich überaus dankbar.
mfg
Torsten
Neulichst hatte ich mal wieder einen tollen Effekt. Dieser Effekt ist aber auch eigentlich logisch. Ich brauchte nur etwas, um dahinter zu steigen.<br>
Also, folgendes Problem:<br>
Ich habe ein kleines Programm geschrieben. Beim Start dieses Programm wird ein Wert aus der Registry ausgelesen. Und je nach dem wie der Wert ausfällt, wird eventuell eine <B>CheckBox</b> auf <b>Checked</b> gesetzt.<br>
So weit, so gut.<br>
Diese Funktion alleine läuft auch richtig gut. Das Programm arbeitet so, wie ich mir das vorgestellt hatte.<br>
Nun möchte ich eine weitere Funktion implementieren. Der Anwender soll auch die Möglichkeit haben, die CheckBox zu betätigen. Darauf hin soll dann der zuvor ausgelesene Wert in der Registry verändert werden. Also baute ich einfach ein <b>OnClick-Ereignis</b> für die <b>CheckBox</b> ein.<br>
Das schaut dann in etwa so aus:<br>
procedure TForm5.CheckBox1Click(Sender: TObject);<br>
begin<br>
if CheckBox1.Checked=True then ...<br>
...<br>
...<br>
else<br>
...<br>
...<br>
Tja, da liegt nun aber das eigentliche Problem.<br>
Wenn ich das Programm so starte, dann läuft mein Programm ins Nirvana.<br>
Hätte ich nicht W2K, so hätte ich den Rechner bestimmt neustarten müssen.
Nun habe ich mal Fehleranalyse betrieben und bin der Meinung den Fehler erkannt zu haben.<br>
Es läuft ja so ab:<br>
Das Programm startet und prüft einen Wert in der Registry. Steht dort ein bestimmter Wert, so wird die <b>CheckBox</b> auf <b>Checked</b> gesetzt. Und dann kommt der Hammer, das Programm haut sich fest. Wahrscheinlich liegt es daran, dass dieses Setzen des Häckchens als ein <b>OnClick-Ereignis</b> angesehen wird. Aber auf das <b>OnClick-Ereignis</b> erfolgt ja in meinem Programm eine Reaktion. Und fertig ist der Salat.<br>
Das kuriose ist, dass das ganze aber funktioniert, wenn ich das mit einem Menü-Item mache. Den kann man ja auch wunderbar mit einem Häckchen versehen. Aus bestimmten Gründen kommt so ein Menü-Item für mein Programm aber nicht in Frage. Ich muss unbedingt eine CheckBox verwenden.<br>
Meine Frage ist nun, ob mir jemand bei diesem Problem helfen kann!<br>
Für ein paar Tipps wäre ich überaus dankbar.
mfg
Torsten
Comment