Einzelnen Beitrag anzeigen

venice2
(Gast)

n/a Beiträge
 
#5

AW: Delphi DLL in VB.net mit "String"-Rückgabe nutzen

  Alt 28. Sep 2020, 23:13
Du denkst vielleicht es wäre richtig ist es aber nicht.

Korrekte übersetzung.
Delphi-Quellcode:
function GenerateBarcodeLVD(ident, version: PWideChar; var pfad: WideString): LongBool {oder einfach BOOL}; stdcall;
begin
  GenerateBarcodeLVD('L1234567', 'b-01', pfad)

  Result := (pfad <> '')
end;

exports
  GenerateBarcodeLVD,
Oder deine variante wenn du den BarCode in einer Extra function mit unterschiedlicher "ident, version" ermitteln willst
Vorausgesetzt GenerateBarcode gibt einen WideString zurück.

Delphi-Quellcode:
function GenerateBarcodeLVD(ident, version: PWideChar; var pfad: WideString): BOOL; stdcall;
var
  Input: String;
  Filename: String;
begin
  Input := WideCharToString(ident) + '~' + WideCharToString(version);
  Filename := Input;

  pfad := GenerateBarcode(GenerateBINARY(Input), Filename);

  Result := (pfad <> '')
end;

exports
  GenerateBarcodeLVD,
oops. EDIT:
Sehe gerade du wolltest eine Übersetzung von Delphi nach VB.net.
Dann ist aber eine Rückgabe unnötig wenn du var verwendest, wie dem auch sei.

Code:
    Public Shared Sub GenerateBarcodeLVD(ByVal ident As String, ByVal version As String, <MarshalAs(UnmanagedType.BStr)> ByRef pfad As String)
    End Sub

Geändert von venice2 (28. Sep 2020 um 23:43 Uhr)
  Mit Zitat antworten Zitat