Einzelnen Beitrag anzeigen

jforest

Registriert seit: 28. Sep 2020
3 Beiträge
 
#4

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

  Alt 28. Sep 2020, 15:11
Vielen Dank für die schnelle Rückmeldungen. Wahnsinn wie schnell das geht!!

Danke himitsu für den Tipp mit WideString!!
Nun funktioniert es einwandfrei!

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

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

  Result := 0; //wird später noch verwendet -1, 0, 1,...
end;

exports
  GenerateBarcodeLVD,
Und in VB.net

Code:
    <DllImport("C:\temp\BarcodeGenerate.dll", EntryPoint:="GenerateBarcodeLVD", SetLastError:=True, CharSet:=CharSet.Unicode,
    ExactSpelling:=True,CallingConvention:=CallingConvention.StdCall)>
    Public Shared Function GenerateBarcodeLVD(ByVal ident As String, ByVal version As String, <MarshalAs(UnmanagedType.BStr)> ByRef pfad As String) As Integer
    End Function

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim pfad As String
        GenerateBarcodeLVD("L1234567", "b-01", pfad)
        MsgBox(pfad)
    End Sub
  Mit Zitat antworten Zitat