LabVIEWForum.de
Fatal Error:LabVIEW.LIB could not locate "PostLVUserEven" - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: DLL & externer Code (/Forum-DLL-externer-Code)
+---- Thema: Fatal Error:LabVIEW.LIB could not locate "PostLVUserEven" (/Thread-Fatal-Error-LabVIEW-LIB-could-not-locate-PostLVUserEven)

Seiten: 1 2 3


Fatal Error:LabVIEW.LIB could not locate "PostLVUserEven" - rolfk - 21.09.2009 07:44

' schrieb:Kann man LIBs, wie DLLs, dynamisch laden?

In LabWindows für DOS und auch in CVI ging das, (und geht vielleicht noch immer) aber das ist ein sehr seltenes Feature.


Zitat:Naja, beim Kompilieren findet der Kompiler die Funktion zwar in der einen LabVIEW.LIB, die (LV-)Exe verwendet aber eine ganz andere LabVIEW.LIB - ohne dieser Funktion.

Nein, Nein! Wenn Du eine LIB in Deine DLL hineinkompiliert hast bleibt die da auch drin. Die verändert nicht ürplötzlich.

Was LabVIEW.LIB hauptsächlich tut ist etwas in dieser Art für jede der exportieren LabVIEW Manager Funktionen:

[code]typedef struct {


Fatal Error:LabVIEW.LIB could not locate "PostLVUserEven" - abrissbirne - 21.09.2009 12:04

Ich denke der Verdacht von IchSelbst verhärtet sich. Ich habe MoveBlock einfach mal auskommentiert. Nun bekomme ich eine Unhandled exception.
Nun heisst es den Debugger anwerfen und genau hinsehenWacko


Fatal Error:LabVIEW.LIB could not locate "PostLVUserEven" - IchSelbst - 21.09.2009 12:35

' schrieb:Ich habe MoveBlock einfach mal auskommentiert.
Auskommentiert und AccessViolation? :blinkBig Grina stimmt aber möglicherweise schon weit vorher was nicht.
Und? Durch den ebenfalls falschen MoveBlock hat sich der bestehende Fehler noch derart verschlimmert, dass selbst die Library nichts mehr gefunden hat. Es hat sich auch hier wieder als richtig herausgestellt: Fehler mit Pointern machen sich immer erst eine halbe Stunde später und in einem ganz anderen Codebereich bemerkbar.

Zitat:Nun bekomme ich eine Unhandled exception.
0x4B000 ist eine derart runde und kleine Adresse, dass ich hier nicht an eine physikalische Adresse glauben kann. Ich tippe hier: 0x4B000 ist die Basisadresse von irgendwas, zu dem ein Offset gehört. Der ist aber NULL - also ein nicht-assigned Pointer.


Fatal Error:LabVIEW.LIB could not locate "PostLVUserEven" - abrissbirne - 21.09.2009 12:51

' schrieb:Auskommentiert und AccessViolation?
Dieser bezieht sich nun auf PostLVUserEvent. Dieser Befehl verursacht nun besagten Error. Hatte mich da etwas unglücklich ausgedrückt.


Fatal Error:LabVIEW.LIB could not locate "PostLVUserEven" - abrissbirne - 22.09.2009 09:42

Bug fixed!
Ich hatte das Hanlde auf den LV Speicher falsch definiert.
<div class='codetop'>CODE</div><div class='codemain' style='height:200px;white-space:pre;overflow:auto'>typedef struct
{
int32 DimSize;
uInt16 Elements[1]
} LVArray, *LVArrayHandle; // <-- hier ist der Fehler. Muss **LVArrayHandle heißen.</div>
Das ganze war in einer Headerdatei schön "versteckt". Meine abstrakte Klassen funktionieren ohne Probleme.