002
19.07.2004, 15:09 Uhr
~Schwabi
Gast
|
Ich doch nich, aber danke erst ma. Haette ja auch erst ma suchen koennen. Nur leider hilft mir das nich wirklich weiter. Ich beschreib hier kurz mal mein Programm.: In einem Timer wird staendig ueberprueft ob ein Editfeld aktiviert wird oder nicht. (wenn ein haekchen in ner Checkbox, dann nicht aktiv, sonst aktiv) Nun kommt der eigentliche Haken. In den Editfeldern stehen Default Werte drinne, schliesslich werden hier dann eigene Werte eingegeben, die nur in einem bestimmten Bereich liegen duerfen. Sobald wie dieser verlassen wird soll eine Fehlermedlung kommen, die kommt ja auch automatisch, nur stuerzt er mir nach dem druecken von OK wieder ab. Warum, ich weiss es leider nich, kanns mir nich erklaeren.
Nun hab ich schon folgendes probiert:
Code: |
void CTempcon_ParametrierungView::OnChangeEdit47() { KillTimer(0); UpdateData(TRUE); SetTimer(0, 20, NULL); }
|
Der Timer sieht uebrigens so aus:
Code: |
void CTempcon_ParametrierungView::OnTimer(UINT nIDEvent) {
CWnd * pWnd_check = NULL; CWnd * pWnd_edit = NULL;
for(int i=0; i<24; i++) { pWnd_check = (CButton*)GetDlgItem(check[i]); pWnd_edit = (CButton*)GetDlgItem(edit[i]);
if( (pWnd_check->GetSafeHwnd()) && (pWnd_edit->GetSafeHwnd()) ) { if ( ((CButton*)GetDlgItem(check[i]))->GetCheck() == 1) { ((CButton*)GetDlgItem(edit[i]))->EnableWindow(FALSE); UpdateData(TRUE); }
else { ((CButton*)GetDlgItem(edit[i]))->EnableWindow(TRUE); } } }
CFormView::OnTimer(nIDEvent); }
|
Wenn ich nichts eingebe, bzw. den Defaultwert rausloesche kommt auch erst die Nachricht "gib eine Zahl ein" und dann nach OK der Absturz.
Ich hoffe ich hab das so erklaert das es einer versteht um mir zu helfen.
Grusse Schwabi |