exports ByRef nicht ByVal
sonst bekommst du Stack Probleme in VB
und keinen WideString sondern PAnsiString\PAnsiChar.
Danach kannst du den Pointer bzw.. den String in VB auf dieser weise auslesen.
Code:
Public Function VBStrFromAnsiPtr(ByVal lpStr As Long) As String
Dim bStr() As Byte
Dim cChars As Long
On Error Resume Next
' Get the number of characters in the buffer
cChars = lstrlen(lpStr)
If cChars Then
' Resize the byte array
ReDim bStr(0 To cChars - 1) As Byte
' Grab the
ANSI buffer
Call CopyMemory(bStr(0), ByVal lpStr, cChars)
End If
' Now convert to a VB
Unicode string
VBStrFromAnsiPtr = StrConv(bStr, vbUnicode)
End Function
"QRgenerator.dll"
sollte reichen.. solange die Datei sich im Anwendungspfad befindet.
Wenn du Probleme beim debuggen hast dann sorge dafür das sich die
DLL zusätzlich noch im Pfad der VBA.exe befindet.
Sonst könnte es sein das diese nicht gefunden wird.
ops.. sehe gerade das du den string aus VBA schicken willst ok dann kannst du einiges in meinem Beitrag ignorieren.
gruss