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