Einzelnen Beitrag anzeigen

helste

Registriert seit: 16. Jul 2009
72 Beiträge
 
Delphi 10.1 Berlin Professional
 
#8

AW: DLL Problem mit XE7

  Alt 8. Apr 2015, 17:45
Übergibst Du ggf. Strings?
Nein, in dem Beispiel nicht.

In meiner realen Anwendung übergebe ich auch Strings, aber nicht direkt, sondern in einem Datenkonstrukt.
Sieht dann z.B. so aus:
Code:
tparameter = record
              stringvar1,
              stringvar2  : pwidechar;
              intvalue1,
              intvalue2   : integer;
           end;
pparameter = ^tparameter;

var
   parameter : tparameter;
Übergeben wird dann ein Pointer.
In der DLL sieht das dann so aus:

Code:
function edittest (par : pparameter) : HWND; stdcall;

begin
.....
end;
Und aufgerufen wird es so:

Code:
function edittest (par : pparameter) : HWND; stdcall; external 'testlib.dll';

procedure testaufruf;

var
   par : tparameter;

begin
par.stringvar1 := 'aaa';
par.stringvar2 := 'bbb';
par.intvalue1 := 1;
par.intvalue1 := 2;
edittest (@par);
end;
Das funktioniert einwandfrei.
Verwende ich z.B. um Parameter für die Datenbank zu übergeben.
  Mit Zitat antworten Zitat