Einzelnen Beitrag anzeigen

jsp

Registriert seit: 9. Aug 2003
50 Beiträge
 
#1

Parameterübergabe C# dll

  Alt 24. Mai 2019, 09:24
Delphi-Version: 5
Hallo und guten Morgen

Ich möchte folgende c#-Funktion aufrufen:

Code:
  //* CibZugferdSDKIsZugferd                                                               *//
  //* checks, if a file is a zugferd invoice                                               *//
  //*                                                                                       *//
  //* pdfFile: input pdf file                                                              *//
  //* isZugferd: pointer to the output bool value                                          *//
  //* return value:                                                                        *//
  //* 0 = no zugferd xml embedded                                                          *//
  //* 1 = has zugferd xml embedded                                                         *//
  //* < 0 = error, see error codes                                                         *//

  DllExport int WINAPI CibZugferdSDKIsZugferd(const char* pdfFile);
In Delphi habe ich die Funktion wie folgt deklariert:
Function CibZugferdSDKIsZugferd(const pdfFile : PChar) : Integer; stdcall; external 'CibZugferdSDK32.dllname 'CibZugferdSDKIsZugferd'; Aufgerufen wird die Funktion wie folgt:
Delphi-Quellcode:
  inputPdfFile := exePath+'zugferdembedded.pdf'; // strings

  if FileExists(inputPdfFile) then
  begin
    res := CibZugferdSDKIsZugferd(PChar(inputPdfFile));
  end;
res ist immer -102, was 'error during reading occured' bedeutet.
Ich gehe davon aus, dass in der dll der Filename nicht korrekt ankommt.

Wie mach ich's richtig?

Gruss, Jörn
  Mit Zitat antworten Zitat