Entwickler-Ecke
Sonstiges (Delphi) - ShowMessage wird 2mal angezeigt
FiceGoesDelphi - Di 22.01.08 16:28
Titel: ShowMessage wird 2mal angezeigt
Ich habs momentan mit ErrorBoxEx aber dort ist das gleiche Problem wie bei Showmessage.
Es geht hier um eine CheckBox. Wenn ich die Clicke soll folgende Überprüfung ablaufen und dementsprechend gehandelt werden. Ist ja alles soweit nicht kompliziert. Aber warum die ErrorBox bzw das ShowMessage 2mal auf geht, versteh ich nicht!
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| procedure TfrmHistoryCleaner.m_cbDataPlayerClick( Sender: TObject ); begin if m_chkRPCExport.Checked then begin ErrorBoxEx( WindowHandle, 'Error', 'You can only activate Dataplayer Files, when RPC Export is not activated.'); m_cbDataPlayer.Checked := False; end else begin m_btnImport.Enabled := not m_cbDataPlayer.Checked; m_dtpEndDate.Enabled := not m_cbDataPlayer.Checked; m_edDataPlayerAttrName.Enabled := m_cbDataPlayer.Checked; end;
end; |
Moderiert von
Christian S.: Code- durch Delphi-Tags ersetzt
dummzeuch - Di 22.01.08 18:14
Titel: Re: ShowMessage wird 2mal angezeigt
FiceGoesDelphi hat folgendes geschrieben: |
Ich habs momentan mit ErrorBoxEx aber dort ist das gleiche Problem wie bei Showmessage.
Es geht hier um eine CheckBox. Wenn ich die Clicke soll folgende Überprüfung ablaufen und dementsprechend gehandelt werden. Ist ja alles soweit nicht kompliziert. Aber warum die ErrorBox bzw das ShowMessage 2mal auf geht, versteh ich nicht!
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| procedure TfrmHistoryCleaner.m_cbDataPlayerClick( Sender: TObject ); begin if m_chkRPCExport.Checked then begin ErrorBoxEx( WindowHandle, 'Error', 'You can only activate Dataplayer Files, when RPC Export is not activated.'); m_cbDataPlayer.Checked := False; end else begin m_btnImport.Enabled := not m_cbDataPlayer.Checked; m_dtpEndDate.Enabled := not m_cbDataPlayer.Checked; m_edDataPlayerAttrName.Enabled := m_cbDataPlayer.Checked; end;
end; |
Moderiert von Christian S.: Code- durch Delphi-Tags ersetzt |
Das liegt daran, dass ein Aendern der Checked-Property nochmal einen OnClick Event ausloest.
Wenn Du stattdessen diese Funktion aufrufst ...
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16:
| type TCheckBox = class(TCustomCheckBox) end;
procedure TCheckBox_SetCheckedNoOnClick(_Chk: TCustomCheckBox; _Checked: boolean); var Chk: TCheckBox; begin Chk := TCheckBox(_Chk); Chk.ClicksDisabled := true; try Chk.Checked := _Checked; finally Chk.ClicksDisabled := false; end; end; |
... passiert das nicht mehr.
twm
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!