» »

[VB .NET @ WinCE] P/Invoke nehal delat ;)

[VB .NET @ WinCE] P/Invoke nehal delat ;)

20sdfj093f ::

Pozdravljeni,

težavo imam z Platform Invoke vmesnikom. Vse je delalo lepo in prav, v .NET sem dobil vse funkcije iz unmanaged DLL-a, ki sem jih potreboval, sedaj pa je kar naenkrat zadeva nehala delat. Da pojasnim - funkcijo v .NET-u kličem tako:

{DllImport("driver.dll", CharSet:=CharSet.Auto, EntryPoint:="Init")} _
Public Overloads Shared Function Init() As Integer
End Function


Seveda je potrebno zavite oklepaje zamenjat s trikotnimi, saj ST sicer ne pusti vnesti te kode. Kakorkoli, mogoče je krivo kakšno rebuildanje platforme, saj mi sedaj VStudio2k5 čim zalaufam aplikacijo v debuggerju javi, da datoteke driver.dll ne more najti, pa čeprav se na targetu nahaja v isti mapi, kot sama aplikacija.

V čem bi lahko bil hip-hip-hud-trik? 8-O

Hvala in LP,
D.

darkolord ::

Če daš polno pot v deklaracijo, ti ga najde?

20sdfj093f ::

Ne.

Probal sem tudi tako, da ga imam v \Release direktoriju in deklariral na dva nacina:

"..\..\Release\driver.dll" (ker sem dva nivoja nad root direktorijem) ali pa
"\Release\driver.dll" vendar ne najde v nobenem primeru.

Gre za neko čudno napako - če napišem nov DLL s samo eno funkcijo, ki vrne vrednost Ž, ter naredim nov WinCE VB projekt, kjer P/Invoke-am tako, da mi en knof kliče to funkcijo, dejansko skoz dobim vrednost Ž in vmesnik deluje.

Bizarno ;(

20sdfj093f ::

Aja, pa to je že vse normalno delalo, potem pa kar naenkrat nehalo :(

20sdfj093f ::

Zadevo sem odpravil. Težava je bila, da je moj DLL klical en drugi DLL, ker pa sem nadgrajeval slednjega z novo verzijo, se mu je spremenilo ime.

Prvotni DLL tako drugega ni našel in .NET aplikacija se je obnašala tako, kot da ni prvega. Bolj v podrobnosti se ne bi spuščal ker jih ne poznam, gre pa za nekaj v tem stilu.

LP, D.


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Keylogger

Oddelek: Programska oprema
352595 (1322) Blisk
»

kako narediti program ki bere drugi program

Oddelek: Programiranje
465637 (3950) imagodei
»

[c#] Vprašanje glede release verzije aplikacije

Oddelek: Programiranje
51446 (1270) Ericssony
»

Dll napisan v C++ importan v C# aplikacijo

Oddelek: Programiranje
113736 (3523) cikopero
»

Težave z Club3D Geforce 7600GS AGP in videom - vsaj mislim

Oddelek: Pomoč in nasveti
212022 (1584) denisxt

Več podobnih tem