Einzelnen Beitrag anzeigen

Robert Marquardt
(Gast)

n/a Beiträge
 
#4

Re: C++ Delphi arrays

  Alt 20. Jun 2007, 10:33
Ziemlich falsch. Erstens ist double = Double, zweitens ist die Delphi-Deklaration der Funktion falsch.
Delphi-Quellcode:
type
  PDouble = ^Double;

type
  TTest = function(x: PDouble): Smallint; stdcall;

var
  vekX: array of Double;
begin
  dll := LoadLibrary('test.dll');
  @test := GetProcAddress(dll, 'test');
  SetLength(vekX, 1);
  vekX[0] := 5;
  r := test(@vekX[0]);
end;
So sollte es gehen.

Willst du nicht ein array von Double-Werten handhaben, sondern nur genau einen Double-Wert, dann besser mit var arbeiten.
Delphi-Quellcode:
type
  TTest = function(var x: Double): Smallint; stdcall;

var
  vekX: Double;
begin
  dll := LoadLibrary('test.dll');
  @test := GetProcAddress(dll, 'test');
  vekX := 5;
  r := test(vekX);
end;
Auf C-Seite pruef mal nach ob EXPORT wirklich zu stdcall aufgeloest wird. Das sollte nicht nur in den Projektoptionen gesetzt sein.
  Mit Zitat antworten Zitat