Hallo,
ich habe ein Programm mit
GUI (zu Testzwecken), welches lediglich einen Button zum erstellen eines Objekts besitzt.
Dieses Objekt lädt im Grunde diverse DLLs und führt periodisch Updates auf allen DLLs aus (entsprechende
DLL Funktion).
Das Ganze ist wie eine Art Pluginmanager zu verstehen.
Damit auch Strings zwischen den DLLs und dem Hauptprogramm ausgetauscht werden können, ist in den DLLs und den dem Hauptprogramm FastMM4 als erste
Unit eingebunden.
Ist ein bestimmtes Plugin aktiv, passiert es nun, dass das Programm scheinbar ohne Grund abstürzt ("Das Programm funktioniert nicht mehr").
Dies passiert manchmal nach 3 Sekunden, manchmal nichtmal nach 3 Stunden.
Je nach MemoryManager war es auch zu beobachten, dass das Programm mit der oben genannten Fehlermeldung abstürzt, sobald man die Maus über das Programmfenster bewegt?!
Da das Programm am Wochenende zum Einsatz kommen soll, wäre es natürlich vorteilhaft, wenn es nicht andauernd abstürzen würde.
Ich lade die Programmstruktur mal als Anhang hoch. Das zum Absturz führende Tool ist "arduino_led". Verwaltet werden die "Plugins" / "Apps" vom MainController, welcher als Verbindung zu den DLLs Instanzen der Klasse "AppClass" erstellt, welche ihrerseits die DLLs laden.
Mit einem simplen Timer wird alle 10 - 20ms (je nach Wahl) die Updatefunktion ausgelöst. Bei der sichtbaren App (in diesem Beispiel nur die arduino_led) wird zusätzlich noch
getScreen aufgerufen und es werden vorher Tastenevents an die
DLL geschickt. (Das Programm wird auf der Logitech G19 angezeigt).
Ich weiß leider nicht, wo mein Fehler ist, dass es immer wieder zu abstürzen kommt, da ich zur Laufzeit die
DLL ja nicht debuggen kann...
Viele Grüße!