Einzelnen Beitrag anzeigen

matashen

Registriert seit: 29. Jan 2007
Ort: daheim
460 Beiträge
 
Delphi XE2 Enterprise
 
#1

DLL, Function und zwei Rückgabewerte

  Alt 22. Feb 2016, 13:41
Hallo zusammen,

ich such jetzt schon seit einer Stunde, find aber nichts.
Also bitte keine Suche-links-Ergebnisse....
Ich hab eben grad ne Hirnblockade....

Ich hab eine DLL in der ich Text an die Anwendung übergeben will, und zwar nicht als Result, da ich dort den möglichen Fehlercode übergeben will.

Kann ich zwei Rückgabewerte haben?

Ich hätte das mal probiert, bekomm aber keine Daten zurück (ausser eben das Result der Function
Delphi-Quellcode:
function get_Fieldtext(Fieldname:PWidechar; Productnumber:PWidechar; Fieldresult:PWidechar):Integer; stdcall;
    external 'datenblattbridge.dll';
Dabei wäre das Feld Fieldresult mein Ergebnis.
Delphi-Quellcode:
var a:String;
    ab,send_char1,send_char2:PWidechar;
    i:Integer;
....
      Getmem(send_char1,255);
      Getmem(send_char2,255);
      Getmem(ab,255);
      a:=auftrag.SAP;
      send_char1:=Pchar('test');
      send_char2:=PChar(a);
      i:=get_Fieldtext(send_char1,send_char2,ab);
      if i=0 then Kunde_Label.caption:=String(ab);
...
in der dll siehts so aus

Fieldresult:=PWidechar(mystring[Fieldnumber]); wenn ich fieldresult zum Test in eine Logdatei wegschreibe, passt der Rückgabewert (String/PChar). Nur als Übergabe kommt nix an.

was mach ich falsch?

Danke schon mal!

Gruß Matthias
Matthias
Das Leben ist eines der härtesten.
  Mit Zitat antworten Zitat