ich habe im Forum herum gesucht aber nichts gefunden.
Wenn die Meldung:
Code: Alles auswählen
Exception 0xC0000005:Possible DLL version conflict.
Moderator: Moderatoren
Code: Alles auswählen
Exception 0xC0000005:Possible DLL version conflict.
Code: Alles auswählen
xppload version > Version.Txt
Code: Alles auswählen
#INCLUDE "Dll.CH"
STATIC PROCEDURE PruefDLLUmgebungBeispiel()
PruefDLLVersion( "AceServer.dll","3.9","3.09.5" )
PruefDLLVersion( "AppClass.dll" ,"3.9","3.09.01" )
PruefDLLVersion( "TbxSysUt.dll" ,"2.0","3.9.2.0" )
//PruefDLLVersion( "TbxBC.dll","3.9","3.09.5" ) // Fr Barcodes (DLL gibt zur Zeit keine Versions-Nummern zurck)
PruefDLLVersion( "ACE32.DLL" ,"8.10.0.18","8.10.0.18" ) //(low level database function library for ADS - Extended Systens (licensefree)) º
PruefDLLVersion( "AXCWS32.DLL" ,"8.10.0.15","8.10.0.15" ) //(Communication library for Severtype ADS_REMOTE_SERVER - Extended Systens (licensefree)) º
RETURN
STATIC PROCEDURE PruefDLLVersion( cDllDateiname,cProductVersionErwartet,cFileVersionErwartet )
LOCAL hDLL:=0,aVersion,n,cProductVersion,cFileVersion,lOk
aVersion := LoadResource(1,cDllDateiname,RES_VERSION)
IF aVersion==NIL
hDLL := DLLLoad( cDllDateiname )
IF hDLL > 0
aVersion := LoadResource(1,hDll,RES_VERSION)
ENDIF
ENDIF
IF aVersion==NIL
MsgBox( cDllDateiname+" nicht gefunden!" )
ELSE
n := AScan(aVersion, {|e| e[RES_VERSION_KEY] == "ProductVersion" })
cProductVersion := IIF( n>0,aVersion[n,RES_VERSION_VALUE],"" )
n := AScan(aVersion, {|e| e[RES_VERSION_KEY] == "FileVersion" })
cFileVersion := IIF( n>0,aVersion[n,RES_VERSION_VALUE],"" )
lOk := .NOT.( empty(cProductVersion).OR.empty(cFileVersion) ) .AND.;
VersionOk( cProductVersion,cProductVersionErwartet ) .AND.;
VersionOk( cFileVersion ,cFileVersionErwartet )
IF .NOT. lOk
MsgBox( cDllDateiname+" hat falsche Version:"+chr(13)+chr(10)+;
"ProductVersion "+cProductVersion+" (erwartet "+cProductVersionErwartet+")"+chr(13)+chr(10)+;
"FileVersion " +cFileVersion +" (erwartet "+cFileVersionErwartet +")"+chr(13)+chr(10)+;
"Bitte die Entwickler benachrichtigen!" )
ENDIF
ENDIF
IF hDLL > 0
DLLUnload(hDLL)
ENDIF
RETURN
STATIC FUNCTION VersionOk( cVersion1,cVersion2 )
LOCAL lOk,n1,n2,n3,n4,n5,m1,m2,m3,m4,m5
FormatiereVersion( cVersion1,@n1,@n2,@n3,@n4,@n5 )
FormatiereVersion( cVersion2,@m1,@m2,@m3,@m4,@m5 )
lOk := (n1>=m1)
IF n1=m1
lOk := (n2>=m2)
IF n2=m2
lOk := (n3>=m3)
IF n3=m3
lOk := (n4>=m4)
IF n4=m4
lOk := (n5>=m5)
ENDIF
ENDIF
ENDIF
ENDIF
RETURN( lOk )
STATIC FUNCTION FormatiereVersion( cVersion,n1,n2,n3,n4,n5 )
LOCAL I
STORE 0 TO n1,n2,n3,n4,n5
cVersion := StrTran( cVersion,".","," )
cVersion := StrTran( cVersion," ","" )
n1 := val( cVersion )
I := at( ",",cVersion )
IF I>0
cVersion := SubStr( cVersion,I+1 )
n2 := val( cVersion )
I := at( ",",cVersion )
IF I>0
cVersion := SubStr( cVersion,I+1 )
n3 := val( cVersion )
I := at( ",",cVersion )
IF I>0
cVersion := SubStr( cVersion,I+1 )
n4 := val( cVersion )
I := at( ",",cVersion )
IF I>0
cVersion := SubStr( cVersion,I+1 )
n5 := val( cVersion )
ENDIF
ENDIF
ENDIF
ENDIF
RETURN( cVersion )
Hi Hans,hschmidt hat geschrieben:Hallo Manfred,
ich bin mir nicht ganz sicher, aber ich meine, diese Meldung auch schon mal gehabt zu haben.
Und zwar bei dem Versuch mit VX ein Programm zu debuggen, das ohne Debugging-Informationen compiliert wurde.
Hans
siehe dir mal PDRManfred hat geschrieben:Erst wenn ich das Projekt im Netzwerk (linux/samba) kompiliere. Wenn ich es auf der andere XP Maschine kompiliere, dann gibt es keine Probleme. Ich weiß somit nicht genau, ob es irgendwelche WIN7 Dinge sind.