Qt: Thread-Problem
-
Hallo,
Mein Problem ist folgendes: Ich erstelle einen neuen Thread, der in der Funktion run() in ein Excel Sheet schreibt. Innerhalb von run() wird ein neues Objekt der Klasse Excel erzeugt. Excel* excel = new Excel().
Am Ende von run() wird delete excel aufgerufen. (Soweit alles logisch)Listctrl::run() { Excel* excel = new Excel(); . . delete excel; }
Nun möchte ich aber den Fall abfangen, dass der Benutzer die dazugehörige Oberfläche schließt und somit den Thread beendet.
Das Problem hierbei ist das beenden des Worker-Threads. Da der Thread nicht bis zum Ende von run() läuft, wird delete excel nicht aufgerufen und somit bleibt das Excel Sheet im Arbeitsspeicher vorhanden (Str+Alt+Entf; 50 Mal Excel geöffnet). Das Problem ist, dass Excel nur innerhalb von run() bekannt ist und selbst eine Adress-Kopie auf ein global erzeugtes Excel-Objekt nicht funktioniert.
Hat jemand eine Idee und kann mir helfen??lg
-
Wieso 2 Threads? Unnötig, ein Mod hätte dich verschoben.
-
Sorry, dachte so erreicht es vll mehr