fejl ved kald med dllimport
HejJeg 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.