Avatar billede jolly_jay Nybegynder
05. september 2006 - 08:43 Der er 10 kommentarer og
1 løsning

Compact Framework og DllImport

Hej,

Jeg har nu kastet mig ud i at programmere til en PDA (Windows CE 5.0 og Compact Framework 2.0)

Jeg har problemer med at få indlæst en dll med DllImport:

[DllImport("dll\\KMSTRLIB.dll", SetLastError = true)]
private static extern int KMSTR_InitLibrary();

[DllImport("dll\\KMSTRLIB.dll", SetLastError = true)]
private static extern int KMSTR_Transform(string InLabel, string OutLabel, double XIn, double YIn, double ZIn, out double Xout, out double Yout, out double Zout);

[DllImport("dll\\KMSTRLIB.dll", SetLastError = true)]
private static extern int KMSTR_TerminateLibrary();

[DllImport("dll\\KMSTRLIB.dll", SetLastError = true)]
private static extern int KMSTR_InitialiseGeoidLibrary(string IPath);

Jeg ved at det virker i den normale Framework 2.0, men i compact framework siger den:

"PInvoke DLL 'dll\KMSTRLIB.dll' blev ikke fundet."

når jeg køre:

int Res3 = KMSTR_InitLibrary();

Jeg ved at dll'erne ligger i program mappe fordi Visual Studio kopier den over på pda'en, men hvorfor den ikke kan finde den ved jeg ikke :/

Håber nogen kan hjælpe.
Avatar billede nielle Nybegynder
05. september 2006 - 09:10 #1
Prøv at ændre stierne fra:

dll\\KMSTRLIB.dll  (alm. Windows notation)

- til:

dll/KMSTRLIB.dll  (Windows Mobile notation)

- eller måske til:

/dll/KMSTRLIB.dll
Avatar billede jolly_jay Nybegynder
05. september 2006 - 09:59 #2
Nu har jeg prøvet både: dll/ og /dll/ men den vil bare ikke finde den dll.

Kan det være fordi at dll'en ikke er specefikt lavet til WinCE?
Avatar billede nielle Nybegynder
05. september 2006 - 10:36 #3
Er det en DLL du selv har lavet? Hvad er den skrevet i?
Avatar billede jolly_jay Nybegynder
05. september 2006 - 11:03 #4
Nej, det er ikke en jeg har skrevet, men en fra Kort & Matrikelstyrelsen:

http://www.kms.dk/Produktkatalog/Gratis+produkter+og+ydelser/Transformationsprogrammer.htm

"KMSTrLib2006"

Jeg mener de er skrevet i c++
Avatar billede nielle Nybegynder
05. september 2006 - 12:36 #5
Ok, så kan jeg ikke svare på det. Du bliver nok nødt til at kontakte dem direkte og spørger om den 1) kan køre på en PDA og 2) om den kan køre under Windows Mobile 5.
Avatar billede jolly_jay Nybegynder
05. september 2006 - 12:41 #6
Det vil jeg så gøre, men hvis der er andre der har nogle ider, skal de være velkommen.
Avatar billede nielle Nybegynder
05. september 2006 - 18:47 #7
En bemærkning. Hvia det ikke er en .Net DLL, skal den formentlig også registreres før at det kan lade sig gøre. I Windows foregår dette normalt via regsvr32.dll, men jeg ved egentlig ikke hvad man gør i Windows Mobile 5.
Avatar billede siz23 Nybegynder
06. september 2006 - 15:49 #8
har personligt haft bedst erfaring med abselute paths, og ikke relative paths på pda, så nok det første jeg ville prøve.
Avatar billede nielle Nybegynder
20. september 2006 - 20:51 #9
Er du kommet vidre?
Avatar billede jolly_jay Nybegynder
04. oktober 2006 - 09:36 #10
Beklager den sene tilbage melding, men vi måtte selv til at omskrive koden til dll'en så den blev .net compatibel.

Men vi fik det til at virke.
Avatar billede mhnyborg Nybegynder
14. juli 2009 - 10:29 #11
Hej hvis du har lyst til at dele din kode vil jeg blive meget glad.

Ja jeg ved at det er lidt naivt at spørger :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester