in Thread erzeugte Form durch Hauptprogramm schliessen (war: Form schliessen)
-
Hallo,
ich habe ein kleinen Problem beim Schliessen einer Form. Die Form wird in einen Thread erzeugt und mit ShowModal() aufgerufen. Wenn das Programm geschlossen wird, soll von aussen auch die Form wieder geschlossen werden. Das versuche ich über die Threadparameter, wo der Poniter der Form hinterlegt ist und Aufruf von close().Aber die Form wird nicht geschlossen !
Hat jemand eine Idee wie ich die Form von außen schliessen kann?Gruß
MichaelEdit:
Bitte aussagekräftige Überschriften wählen. Danke!
-
Was genau meinst du mit "von aussen schliessen"?
-
Mit "von ausen" meine ich, dass die Form vom Hauptprogramm aus geschlossen wird. Wenn ich das Fenster von Hand schliesse (also innerhalb des Thread), läuft der Thread ganz normal aus. Rufe ich close() vom Hauptprogramm her aus (mit pThreadParams->fenster->Close();) funktioniert das nicht.
-
Ruf doch einfach:
DeinThread->Terminate();
Der Thread schliesst die Form (muss im Thread so stehen
) und beendet sich.
-
Hatte ich auch schon versucht. Klappt auch soweit, aber dann kommt zum Schluss eine Fehlermedlung:
Systemfehler 1400: Unglültiges Fensterhandling
beim Aufruf der Funktion:
/* TCustomForm.Destroy */ inline __fastcall virtual ~TForm(void) { }
die er ja selbstständig aufruft, um den Speicher für die angelegten Formen wieder freizugeben!