Avatar billede irsild Nybegynder
10. februar 2006 - 15:03 Der er 1 kommentar og
1 løsning

fejl ved kald med dllimport

Hej

Jeg har denne dll, DllKey.dll, som har denne metode:

CreateKey( AHandle : THandle; Room, FirstName, LastName : PChar; CheckInDate, CheckOutDate :TDateTime; KeyPuncher, NoOfKeys, KeyType : Integer; Const HotelNo : Integer = -1 ; Const SimpleMode : Boolean = False ) : Boolean

Via dllimport prøver jeg at kalde den dll sådan:
[DllImport("DllKey.dll", SetLastError=true,
        CharSet=CharSet.Unicode, ExactSpelling=true,
        CallingConvention=CallingConvention.StdCall)]
        public static extern bool CreateKey(int handle, ref char room, ref char firstename, ref char lastname, DateTime start,  DateTime end, int keypuncher, int noofkeys , int keytype, int hotelNumber, bool simpleMode);


Sådan kalder jeg den:

string roomStr = "201";
string firstnameStr = "Test";
string lastnameStr = "Testsen";
DateTime start = new DateTime(2006, 03, 10);
DateTime end = new DateTime(2006, 03, 13);

char[] room = new char[128];
room = roomStr.ToCharArray();

char[] firstename = new char[128];
firstename = firstnameStr.ToCharArray();

char[] lastname = new char[128];
lastname = lastnameStr.ToCharArray();

bool str = CreateKey(0, ref room[0], ref firstename[0], ref lastname[0], start,  end, 1, 1, 0, 0, true);

Jeg får access violation. Det er nok PChar fra delphi jeg ikke bruger på den rigtige måde.
Avatar billede irsild Nybegynder
10. februar 2006 - 20:42 #1
Er det her rigtigt?

Metode:
CreateKey( AHandle : THandle; Room, FirstName, LastName : PChar; CheckInDate, CheckOutDate :TDateTime; KeyPuncher, NoOfKeys, KeyType : Integer; Const HotelNo : Integer = -1 ; Const SimpleMode : Boolean = False ) : Boolean


[DllImport("DllKey.dll", SetLastError=true,
        CharSet=CharSet.Unicode, ExactSpelling=true,
        CallingConvention=CallingConvention.StdCall)]
        public static extern bool CreateKey(int handle, ref char room, ref char firstename, ref char lastname, DateTime start,  DateTime end, int keypuncher, int noofkeys , int keytype, int hotelNumber, bool simpleMode);
Avatar billede irsild Nybegynder
01. maj 2006 - 12:42 #2
Luk
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