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 

exe stürzt nach beenden ab sobald dll eingebunden ist



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!

21.11.2007, 11:48 (Dieser Beitrag wurde zuletzt bearbeitet: 02.12.2007 12:53 von jg.)
Beitrag #1

NicoB Offline
LVF-Grünschnabel
*


Beiträge: 28
Registriert seit: Nov 2007

2011
2007
EN

66822
Deutschland
exe stürzt nach beenden ab sobald dll eingebunden ist
Hallo,
ich hab ein größeres Projekt das auch soweit funktioniert, darin sind eine Menge dll aufrufe auf die ich nicht verzichten kann.
Jetzt wollte ich da ich fertig bin eine exe daraus machen, funktioniert auch soweit, aber wenn ich dann das Programm beende kommt ein Windowsfehler. Dannach der Fehler :
Die Anweisung in "0x7c91eae0" verweist auf Speicher in "0x02782a10". Der Vorgang "read" konnte nicht auf dem Speicher durchgeführt werden.
Ich hab jetzt ein Vi mit einem dll aufruf aus meinem Projekt rausgedriffen und es in einem anderen Vi eingebunden. Der gleiche Fehler erscheint, daher geh ich mal davon aus das es an dem dll Afruf liegt, sobald ich den Asruf rausnehme funktioniert es.
Jetzt meine Frage muss ich beim kompelieren oder irgendwo sonst noch eine Einstellung machen damit dieser Fehler nicht mehr kommt?
Hier mal die Vi's, Projekt kann ich nicht hochladen, Dateityp ist mir nicht gestattet hochzuladen.

(VIs LV 8.2)


Angehängte Datei(en)
Sonstige .vi  AnsiToOemadd.vi (Größe: 15,39 KB / Downloads: 248)

Sonstige .vi  testadd.vi (Größe: 10,09 KB / Downloads: 248)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
21.11.2007, 13:26 (Dieser Beitrag wurde zuletzt bearbeitet: 02.12.2007 12:52 von jg.)
Beitrag #2

NicoB Offline
LVF-Grünschnabel
*


Beiträge: 28
Registriert seit: Nov 2007

2011
2007
EN

66822
Deutschland
exe stürzt nach beenden ab sobald dll eingebunden ist
hier mal noch ein einfacheres Vi, immer noch der Fehler, es liegt definitiv an dem call library Aufruf.
Ich weiß einfach keinen Rat mehr.

(VI LV 8.2)


Angehängte Datei(en)
Sonstige .vi  testcalllibrary.vi (Größe: 11,37 KB / Downloads: 246)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.11.2007, 19:23
Beitrag #3

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.687
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
exe stürzt nach beenden ab sobald dll eingebunden ist
' schrieb:hier mal noch ein einfacheres Vi, immer noch der Fehler, es liegt definitiv an dem call library Aufruf.
Ich weiß einfach keinen Rat mehr.
Wenn du die Fehlermeldung weiter verfolgst, dann stellst du fest, dass der Fehler in NTDLL.dll passiert. In dieser DLL gibt es wohl sowas wie eine Dateninkonsistenz, die zu einem Fehler führt, wenn man eine StringList abfragen will, die keine Einträge hat. Ob das hier auch zutritt, kann ich natürlich nicht entscheiden.

Ich bin der Meinung, dass diese Fehlermeldung keinerlei negative Auswirkungen hat.

Du kannst die "Fehlermeldung" unterbinden, indem du die DLL User32.dll aus dem DATA-Verzeichnis löscht, das von LV bei der Erstellung der EXE automatisch angelegt wird. Wenn diese DLL nicht mehr da ist, benutzt die Applikation die DLL aus den Windows-Systemverzeichnis. Warum das dann geht, weis ich auch nicht.

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.11.2007, 20:07
Beitrag #4

NicoB Offline
LVF-Grünschnabel
*


Beiträge: 28
Registriert seit: Nov 2007

2011
2007
EN

66822
Deutschland
exe stürzt nach beenden ab sobald dll eingebunden ist
' schrieb:Wenn du die Fehlermeldung weiter verfolgst, dann stellst du fest, dass der Fehler in NTDLL.dll passiert. In dieser DLL gibt es wohl sowas wie eine Dateninkonsistenz, die zu einem Fehler führt, wenn man eine StringList abfragen will, die keine Einträge hat. Ob das hier auch zutritt, kann ich natürlich nicht entscheiden.

Ich bin der Meinung, dass diese Fehlermeldung keinerlei negative Auswirkungen hat.

Du kannst die "Fehlermeldung" unterbinden, indem du die DLL User32.dll aus dem DATA-Verzeichnis löscht, das von LV bei der Erstellung der EXE automatisch angelegt wird. Wenn diese DLL nicht mehr da ist, benutzt die Applikation die DLL aus den Windows-Systemverzeichnis. Warum das dann geht, weis ich auch nicht.
Danke für die Hilfe, ich hab es vorhin selbst raus gefunden, zwar nicht mit dem löschen sondern ich hab den Pfad der dll im Programm angegeben (spezify path on diagram angeklickt und dann den Pfad im Programm angegeben).
Dadurch wird dann beim erstellen der exe die dll nicht mitgegeben und es kommt zu keiner Fehlermeldung mehr.
Ich glaube das die user32.dll nicht so einfach mitgegeben werden kann, die linkt bestimmt noch zu mehreren anderen dll's die müsste man dann alle mit rein kopieren, aber ich bin da kein Fachmann dafür, vielleicht weiß einer wie es funktioniert.
Würde mich mal interesieren wie man es richtig macht mit dem mitgeben der dll.

Zu dem Fehler hast du zwar recht das er keine Auswirkung hat, aber die Software kann man mit soeinem Fehler keinen anderen zur Verfügung stellen ich arbeite ja nicht für MS :-)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
22.11.2007, 13:37
Beitrag #5

rolfk Offline
LVF-Guru
*****


Beiträge: 2.302
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
exe stürzt nach beenden ab sobald dll eingebunden ist
' schrieb:Wenn du die Fehlermeldung weiter verfolgst, dann stellst du fest, dass der Fehler in NTDLL.dll passiert. In dieser DLL gibt es wohl sowas wie eine Dateninkonsistenz, die zu einem Fehler führt, wenn man eine StringList abfragen will, die keine Einträge hat. Ob das hier auch zutritt, kann ich natürlich nicht entscheiden.

Ich bin der Meinung, dass diese Fehlermeldung keinerlei negative Auswirkungen hat.

Du kannst die "Fehlermeldung" unterbinden, indem du die DLL User32.dll aus dem DATA-Verzeichnis löscht, das von LV bei der Erstellung der EXE automatisch angelegt wird. Wenn diese DLL nicht mehr da ist, benutzt die Applikation die DLL aus den Windows-Systemverzeichnis. Warum das dann geht, weis ich auch nicht.

Diese System DLLs verwenden allerlei interne Tricks zum Resourcenhandling. Unter anderem auch globale Variablen und vor allem (und das ist hier wohl mehr oder weniger direkt das Problem) Handles (die in ntdll.dll verwaltet werden). Dadurch dass Du eine eigene Kopie von user32.dll in Deine Applikation lädst, gibt es ein Chaos mit dieser Resourcenverwaltung. Resourcen die in der lokalen user32.dll angelegt und verwendet werden stimmen nicht überein mit denen die in der Systemversion von user32.dll liegen und das knirscht irgendwann mal.

So ziemlich alle DLLs die standard mit Windows mitkommen, (und in system32 liegen) sollten NIEMALS mit einer Applikation mitkopiert werden und schon ganz sicher nicht im lokalen Verzeichnis der Applikation stehen. Wenn eine Applikation eine DLL anfordert ist das lokale Verzeichnis das erste das durchsucht wird und dann lädt er die während die Systemversion schon lange im globalen Systemspeicher anwesend ist und von da an ist es nur noch eine Frage der Zeit bis es crasht.

Rolf Kalbermatter

Rolf Kalbermatter
Technische Universität Delft, Dienst Elektronik und Mechanik
https://blog.kalbermatter.nl
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  ...EXE FP soll nach Beenden nicht verschwinden" gottfried 1 6.445 27.02.2019 18:06
Letzter Beitrag: GerdW
  VI nicht in exe eingebunden? Don_Corleone 2 3.770 15.12.2010 16:17
Letzter Beitrag: Don_Corleone
  Exe - Fenster nach Beenden Knopf automatisch schließen? schurzgasschweisser79 3 9.498 28.07.2010 16:36
Letzter Beitrag: schurzgasschweisser79
  exe stürzt beim beenden ab ... toaran_ 5 6.497 13.06.2008 12:16
Letzter Beitrag: abrissbirne
  LabVIEW stürzt ab beim erstellen eines Installers Carsten0815 3 4.811 29.08.2007 09:04
Letzter Beitrag: Y-P
  LabVIEW stürzt ab beim verteilen der Bibliothek Carsten0815 8 6.480 23.08.2007 10:29
Letzter Beitrag: Carsten0815

Gehe zu: