Moin...
Ich habe folgendes verbrochen...
Ich habe eine
DLL die die Zugriffsschicht auf meine Datenbank darstellt. Ich binde die
DLL dynamisch ein, heisst nicht sofort beim Programmstart sondern immer dann, wenn die Funktion grade benötigt wird. Ich hole allerhand Daten ab, unter Anderem auch ein 2dimensionales Array, dass echt umfanreich ist. Da speziell für dieses Array eine Übertragungszeit (Netzwerkbedingt) von bis zu eineinhalb Minuten erfordelich ist lasse ich die Abfrage in einem Thread laufen.
Wie einige ungeduldige User nun mal so sind, möchten sie natürlich einen Abbrechen-Butten haben (ist ja auch sinnvoll). Ich habe daher einfach mal probiert den Thread mit Suspend und Terminate zu beenden. Klappt auch wunderbar.
Nun mein Problem. Wenn ich jetzt eine neue Abfrage starte läuft der Tread nicht mehr an. Ich vermute, dass der Zwangsabbruch des Zugriffs über die
DLL jede Menge Datenmüll erzeugt. Aber wie kann ich die
DLL kontrolliert vorzeitig beenden und aufräumen?
Kann ich überhaupt zur selben Zeit ein zweites Mal auf die
DLL Zugreifen, und dort eine Art Flag kippen, dass sagt "Halt, Stop - Aufhören"? Ich habe in der
DLL mal einen Datensatz-Zähler mitlaufenlassen und versucht diesen mit einem Zweiten Zugriff - also als der Erste noch lief - abzufragen, aber da kam nur Datenmüll raus.
Für Hinweise - Ich will keinen fertigen Code - währe ich echt dankbar...
Bis denne...
Der frühe Vogel fängt den Wurm, richtig.
Aber wird nicht auch der frühe Wurm vom Vogel gefressen?