Einzelnen Beitrag anzeigen

ThE_-_BliZZarD

Registriert seit: 15. Sep 2006
Ort: Wiesbaden/Hessen
89 Beiträge
 
Delphi 2010 Professional
 
#1

DLL in Delphi ansprechen - Zugriff auf Variabeln

  Alt 26. Nov 2007, 14:12
Hallihallo,

ich habe eine Frage zum Zugriff auf eine Funktion in einer DLL.

Die DLL ist in C geschrieben und liefert folgende Funktion:
Code:
WandExport MagickBooleanType MagickGetSize(const MagickWand *wand,
  unsigned long *columns,unsigned long *rows)
{
  *columns=5;
  *rows=6;
  return(MagickTrue);
}
In dieser Funktion geht es mir primär um die zwei unsigned long. Das sind doch Pointer oder?

In Delphi habe ich momentan folgenden Import:

Delphi-Quellcode:
function MagickGetSize(wand: PMagickWand; cols, rows : PCardinal): MagickBooleanType; cdecl; external 'blub.dllindex 311;

// Der Zugriff auf die Werte in der Funktion erfolgt dann wie folgt:
procedure BlaBlub();
var
ori_width, ori_height: Cardinal;
begin
// Wand ist vom Typ PMagickWand und ist initalisiert etc pp.. da kann der Fehler nicht liegen
if (MagickGetSize(wand, @ori_width, @ori_height) = MagickTrue) then begin
   showmessage('blub'); // WIRD angezeigt
end;
// Leider steht in ori_width und ori_height nichts drinne..
end;
Was mache ich falsch? Die Index-nummer habe ich via Disassembler verifiziert, die stimmt.. Leider habe ich von C nicht viel Ahnung.

HELP!^^
MSVC2008 (C/C++ with QT), Delphi RAD 2010, Flash CS5 (FDT/Adobe), Java EE (Eclipse), PHP5
Antwortsprachen: Deutsch, Englisch, Französisch, Japanisch
  Mit Zitat antworten Zitat