Problem mit TDialog anzeige
-
Morgen Leute
ich habe da ein Problem mit der Anzeige eines Dialoges,
beim ersten Aufruf mit ShowModal() wird er richtig angezeigt, jedoch beim nächsten mal fehlen auf ihm (Form) Elemente wie zb. die Buttons und das Fenster läßt sich nicht schließen.
PS: auch nicht über dem "X" im Fenster!!!Wer kann mir helfen?
TOKBottomDlg1 *OKBottomDlg1; //--------------------------------------------------------------------- __fastcall TOKBottomDlg1::TOKBottomDlg1(TComponent* AOwner) : TForm(AOwner) { } //--------------------------------------------------------------------- void __fastcall TOKBottomDlg1::OKBtnClick(TObject *Sender) { t_return=10; if (t_textnr==0) { switch(ComboBox1->ItemIndex){ case 0: case 2: t_steuerung=0x10; break; case 1: case 3: t_steuerung=0x21; break; default: t_steuerung=0; } } if (t_textnr==1 || t_textnr==2) { switch(ComboBox1->ItemIndex){ case 0: t_hpower=false; break; case 1: t_hpower=true; break; default: ShowMessage("Fehler in der auswahl!"); } } } //--------------------------------------------------------------------------- void __fastcall TOKBottomDlg1::CancelBtnClick(TObject *Sender) { t_return=0; t_steuerung=0; } //--------------------------------------------------------------------------- void TOKBottomDlg1::tclear(bool) { t_return=0; t_steuerung=0; t_textnr=0; } void __fastcall TOKBottomDlg1::FormShow(TObject *Sender) { ComboBox1->Items->Clear(); switch(t_textnr){ case 0: ComboBox1->Items->AddStrings(Tbeide); break; case 1: ComboBox1->Items->AddStrings(TnurTRM); break; case 2: ComboBox1->Items->AddStrings(TnurRTU); break; default: ShowMessage("Falsche Text Nummer!"); } ComboBox1->ItemIndex=0; ComboBox1->Refresh(); OKBtn->Refresh(); CancelBtn->Refresh(); Refresh(); if (OKBtn->Visible==true) Label2->Caption="hallo"; else Label2->Caption="wert"; } //--------------------------------------------------------------------------- void TOKBottomDlg1::setTextNr(unsigned int eingabe) { t_textnr=eingabe; } bool TOKBottomDlg1::getHPower(void) { if (t_hpower==true) return(0); else return(1); } void __fastcall TOKBottomDlg1::FormCreate(TObject *Sender) { t_return=0; t_hpower=0; t_steuerung=0; t_textnr=0; TnurTRM=new TStringList(); TnurRTU=new TStringList(); Tbeide=new TStringList(); TnurTRM->Add("TRM-710 M-Power"); TnurTRM->Add("TRM-710 H-Power"); TnurRTU->Add("RTU-710 M-Power"); TnurRTU->Add("RTU-710 H-Power"); Tbeide->Add("RTU-710 M-Power"); Tbeide->Add("TRM-710 M-Power"); Tbeide->Add("RTU-710 H-Power"); Tbeide->Add("TRM-710 H-Power"); } //--------------------------------------------------------------------------- void __fastcall TOKBottomDlg1::Ende() { /*delete TnurTRM; delete TnurRTU; delete Tbeide; */ } void __fastcall TOKBottomDlg1::FormDestroy(TObject *Sender) { delete TnurTRM; delete TnurRTU; delete Tbeide; }
-
Benutze mal den Debugger um das Problem einzukreisen
-
also da scheint eigendlich alles io zu sein.
alle Elemente sind auf sichtbar gestellt!ich hab den Dialog mal an einer anderen stelle im prog aufgerufen da scheint er richtig zu funktionieren.
momentan wird er aus einem Thread mit ShowModal() aufgerufen!
kann das das problem sein?
-
so läuft es sehr gut
mhhmm keine Ahnung was ihm im thread stört

-
Pack das mal in Synchronize ein.