INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Fehlermeldung nach Exe-Ende mit User32.dll



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

09.04.2010, 11:43
Beitrag #1

Achim Offline
*****
*****


Beiträge: 4.223
Registriert seit: Nov 2005

20xx
2000
EN

978xx
Deutschland
Fehlermeldung nach Exe-Ende mit User32.dll
Hallo LVF,

das dürfte was für die Fortgeschrittenen sein...

Folgende Ausgangssituation:
Ich habe ein etwas umfangreicheres Programm, mit dem von einem Framegrabber (bis zu acht Videokanäle in Verwendung) zyklisch Daten ausgelesen und dargestellt werden. Die erfassten Daten werden nach einer Umrechnung (2D-U8 -> LV picture) kontinuierlich auf dem Frontpanel dargestellt. Im Hintergrund werden die einzelnen 2D-Arrays (= Frames) in eine AVI-Datei geschrieben. Die Zykluszeiten (n Sekunden AVI-Aufnahme mal m Kameras, Wiederholung alle t Sekunden) variieren dabei je nach Prüfvorgabe der angeschlossenen Kameras. Es handelt sich dabei um Langzeitversuche die bis zu drei Monate dauern, das ganze läuft auf bis zu 5 Rechnern.


Problem:

Leider läuft aus irgendeinem Grund der Arbeitsspeicher voll...Was teilweise soweit ging, das sich der Rechner aufgrund von Arbeitsspeicher-Mangel ins Nirvana verabschiedet hat. Ich hab zuerst an ständig neu erzeugte Handles oder aufwändige Array-Operationen gedacht, aber in der Richtung wurde alles optimiert. Offenbar bleiben Speicherbereiche für die Bilddarstellung allokiert...Irgendwann haben wir dann festgestellt, dass der Arbeitsspeicher wieder freigegeben wird, wenn das Fenster per Mausklick (rechts oben) einmal kurz minimiert wird. Da sinkt dann der Speicherverbrauch von z.B. (über mehrere Tage aufgebauten) 350 MB auf ca. 50 MB...das variiert je nach Rechner.

Diese Tatsache konnten wir nachvollziehen:
http://digital.ni.com/public.nsf/allkb/9EA...625763300434D4D

Also haben wir uns folgenden Workaround ausgedacht: Wir minimieren programmatisch einmal kurz das Fenster (nachts um 0.xx Uhr, da ist sowieso keiner da) und sind damit aus dem Schneider. Leider funktioniert das ganze nicht mit den VI-Server-Funktionen (FP.State = Minimized bzw. Standard), da tut sich am Speicher gar nichts...

Ich hab mich dann an folgendes erinnert:
http://zone.ni.com/devzone/cda/epd/p/id/4935
Das hab ich vor X Jahren schon verwendet, als das per VI Server noch nicht möglich war.

Mit diesen Funktionen aus der User32.dll funktioniert das minimieren tadellos, siehe das angehängteLv86_img-Projekt im Zip-File!

Sonstige .zip  Test_Minimize.zip (Größe: 937,23 KB / Downloads: 344)


Wenn man allerdings eine Exe baut (ebenfalls im Zip-File enthalten), bekommt man nach dem Beenden des Programms vom Dr. Watson eine Fehlermeldung präsentiert:
   

Auf einem anderen Rechner haben wir Visual Studio 2008 installiert, da wird der JIT-Debugger aktiv. Wenn man den deaktiviert, kommt die Warnung, dass man keinen Debugger aktiviert hat.

Ich hab schon sehr viel gegoogelt, z.B. hier und diverse Registry-Einträge probiert, aber das hat alles nichts gebracht. Auch das Löschen des Window-Handles mit der User32.dll-Funktion "DestroyWindow" hat nichts gebracht.Pccrash

Hat jemand eine Idee? Früher gabs keine Probleme in dieser Richtung...zumindest hab ich keine bemerkt! Wir könnten für unsere Tests zwar mit der Fehlermeldung leben, schön ist aber was anderes...

Ich bin für Lösungsvorschläge dankbar!

Gruß
Achim

"Is there some mightier sage, of whom we have yet to learn?"

"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
30
Antwort schreiben 


Nachrichten in diesem Thema
Fehlermeldung nach Exe-Ende mit User32.dll - Achim - 09.04.2010 11:43

Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  User32.dll FP absolut immer im Vordergrund PreVIEW 15 19.773 28.07.2017 22:57
Letzter Beitrag: rolfk
  Mauszeiger mit user32.dll erstellen samewise 6 7.587 27.05.2014 09:16
Letzter Beitrag: samewise

Gehe zu: