DLL Zugriff - Probleme bei Datentypen
Verfasst: 29.08.2005 16:50
Hallo liebe PB Gemeinde,
war schon lange nicht mehr hier da ich schon lange keine Probleme mehr hatte. Nun habe ich aber folgendes Problem:
Eine DLL die auf einen Server zugreift und dort Accounts erstellt benötigt eine C++ Klasse. Gut das sollte man mit PC ja auch hinbekommen....
Nun probiere ich und probiere ich, doch es will einfach nicht klappen. Ich vermute das liegt daran das s zB kein int64 gibt
. Kann auch sein das ich das nur mit C++ realisieren kann!?
Der C++ Struct (Class) Code:
Hier mein PB Code:
Wäre über jeden Tipp dankbar, habe auch das komplette SDK dazu. Und bin über ICQ unter 3106672 erreichbar.
LG Szandor
war schon lange nicht mehr hier da ich schon lange keine Probleme mehr hatte. Nun habe ich aber folgendes Problem:
Eine DLL die auf einen Server zugreift und dort Accounts erstellt benötigt eine C++ Klasse. Gut das sollte man mit PC ja auch hinbekommen....
Nun probiere ich und probiere ich, doch es will einfach nicht klappen. Ich vermute das liegt daran das s zB kein int64 gibt

Der C++ Struct (Class) Code:
Code: Alles auswählen
struct sRecordAccount {
char* NAME;
char* PASSWORD;
char* FNAME;
char* SNAME;
char* MNAME;
char* ADDR1;
char* ADDR2;
char* CITY;
char* STATE;
char* ZIPCODE;
char* COUNTRY;
char* PHONE;
char* EMAIL;
char* SECRET;
char* CDKEY;
char* SESSION_KEY;
char* LAST_IP;
unsigned __int64 CHAR[CHARACTERS_ON_ACCOUNT];
unsigned int PLEVEL;
unsigned char MD5_0[16];
unsigned char MD5_1[16];
unsigned char MD5_2[16];
unsigned char MD5_3[16];
unsigned char MD5_4[16];
bool BANNED;
bool LOCKED;
unsigned int LAST_ACCESS;
};
Code: Alles auswählen
OpenLibrary(0, "db.dll")
Dim CHAR.w(10)
Dim MD5_0.b(16)
Dim MD5_1.b(16)
Dim MD5_2.b(16)
Dim MD5_3.b(16)
Dim MD5_4.b(16)
Structure sRecord
NAME.s
PASSWORD.s
FNAME.s
SNAME.s
MNAME.s
ADDR1.s
ADDR2.s
CITY.s
STATE.s
ZIPCODE.s
COUNTRY.s
PHONE.s
EMAIL.s
SECRET.s
CDKEY.s
SESSION_KEY.s
LAST_IP.s
CHAR.w
PLEVEL.w
MD5_0.b
MD5_1.b
MD5_2.b
MD5_3.b
MD5_4.b
BANNED.b
LOCKED.b
LAST_ACCESS.s
EndStructure
CreateDB.l = IsFunctionEntry(0, "CreateDB")
AddRecord.l = IsFunctionEntry(0, "AddRecord")
FindRecordStr.l = IsFunctionEntry(0, "FindRecordStr")
FindRecordU64.l = IsFunctionEntry(0, "FindRecordU64")
GetRecordAndLock.l = IsFunctionEntry(0, "GetRecordAndLock")
OpenDB.l = IsFunctionEntry(0, "OpenDB")
RootProcess.l = IsFunctionEntry(0, "RootProcess")
SaveDB.l = IsFunctionEntry(0, "SaveDB")
Unlock.l = IsFunctionEntry(0, "Unlock")
_Alloc.l = IsFunctionEntry(0, "_Alloc")
_Free.l = IsFunctionEntry(0, "_Free")
dbid.l = CallFunctionFast(OpenDB, "saves", "accounts", "DButil")
Debug dbid
Delay(2000)
newrecord.sRecord\NAME = "Szandor"
newrecord.sRecord\PASSWORD = "password"
newrecord.sRecord\PLEVEL = 7
Debug CallFunctionFast(AddRecord, dbid, *newrecord)
Debug CallFunctionFast(SaveDB, dbid)
LG Szandor