Okay, jetzt bin ich vollends verwirrt, denn das deckt sich so garnicht mit dem was ich bisher herausgefunden zu haben glaubte.
Okay, size (also pcbAttrLen) wird auf 4 gesetzt. Ich erwarte also 4 Byte, ja? Oder interprätiere ich das falsch? Auch der weiterführende Code (hab den noch nicht gepostet, weil ich den schon übersetzt hab) ließt offenbar die ersten 4 Bytes. Wie geht denn das mit "var pbAttr: Byte"? Versteh mich nicht falsch, bin immer bereit meinen Horizont zu erweitern. Zumal ich auf diesem Gebiet noch nicht viel Erfahrung hab und auch mit Pointern arbeite ich bisher eher "nach Gefühl".
StdCall hab ich geraten. Klappt bei einigen anden Init-Aufrufen aus der selben
DLL. Bekomme Handles zurück und die
DLL Version. Die Handles scheinen gültig zu sein wenn ich sie wiederum an die
DLL zurückgebe.
Der Rückgabewert der Funktion ist ein Cardinal. Den Fehlercode MCARD_E_INVALID_PARAMETER hab ich aus der Doku bzw Original-Code. Die Messagebox baue ich selbst in einem bereits funktionsfähig übersetzten Teil des Codes.
Zu deiner Übersetzung des Headers bekomm ich irgendwie grad keinen sinnvollen Aufruf gebaut.
Toni
Der frühe Vogel fängt den Wurm, richtig.
Aber wird nicht auch der frühe Wurm vom Vogel gefressen?