Laden von spezieller DLL unter Windows CE5

Gast #819092
Lesenswert?

Hallo,

ich arbeite zur Zeit an einem Windows CE5.0-System, das auf x86-Hardware 
läuft. Über TCP/IP möchte ich nun ein angeschlossenes Digital-IO-Modul 
von Phoenix Contacts ansteuern. Für dieses liegt mir eine DLL vor, die 
unter Windows XP auch bereits funktioniert.

Mein Problem liegt nun in der dynamischen Einbindung dieser DLL. 
Versuche ich dies mit LoadLibrary("meine.dll"), dann bekomme ich ein 
ungültiges Handle zurück, und als letzten Errorcode 126 (der wohl 
bedeutet, dass die DLL nicht gefunden wurde, oder die Initialisierung 
fehlschlug). Da die Prozedur für CE-eigene DLLs im gleichen Verzeichnis 
einwandfrei funktioniert, frage ich mich nun, ob das überhaupt 
funktionieren muss, eine DLL von Windows XP auch auf CE zu verwenden, ob 
ich der Datei erst ein spezielles Attribut verpassen muss, oder diese 
irgendwie schon in der Entwicklungsumgebung (Embedded Visual C++) 
registrieren muss (obwohl ich sie erst zur Laufzeit dynamisch laden 
will).

Wenn man tatsächlich eine XP-DLL nicht unter CE verwenden kann, würde 
mich interessieren, wie man hier ermittelt, wann eine DLL für beide 
Systeme kompatibel ist bzw. wie man die DLL unter CE verwenden kann.

Würde mich freuen, wenn da jemand genaueres zu weiß, denn der 
Wikipedia-Artikel zu DLLs hilft mir beim Thema Portierbarkeit wenig 
weiter.

Peter
#819275
Lesenswert?

Wie ist denn die Pfadangaben zur DLL?
Wenn's eine Relative ist, funktioniert das nicht unter WinCE (zumindest 
war es bis 3.0 so, dass WinCE keine relative Pfadangaben und auch kein 
aktuelles Verzeichnis kannte), es muss ein absoluter Pfad angegeben 
werden.
Gast #819302
Lesenswert?

Danke für eure Antworten.

@ Arc Net: Ja, bei den Pfadangaben habe ich so ziemlich alles probiert. 
Und da sich eine CE-eigene DLL im gleichen Verzeichnis immer problemlos 
laden ließ, denke ich dass das gepasst hat.

@ Markus Volz: Klare Aussage, schade. Leider habe ich meiner Erinnerung 
nach nur die Header-Files + DLL und keinen Sourcecode, aber das werde 
ich am Dienstag überprüfen, und mich dann gegebenenfalls an den Support 
wenden.

Peter

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren