Zitat:
in VBA wenn ich ByRef einsetze bekomm ich direkt einen Aufruffehler (5)
JA weil ich davon ausgegangen bin das du den String von Delphi aus sendest.
Zitat:
in VBA Byval bekomm ich Hyroglyphen und dann einen Fehler (5)
ByVal ist korrekt.
Beispiel aus meine
DLL..
der string wird so gesendet..
VB..
Code:
Case BASSVISKIND_WMP
With mInfos
.SongTitle = MediaTitle
End With
BASSVIS_SetInfo mVisParam, mInfos
Code:
Public Type BASSVIS_INFO
SongTitle As String ' SongTitel ohne Pfad
Songfile As String ' SongFile incl. Pfad (StreamFile)
End Type
Delphi-Quellcode:
PBASSVIS_INFO = ^TBASSVIS_INFO;
TBASSVIS_INFO = record
SongTitle : PAnsiChar; // Titel mit vorstehener TitelNr ('1. ')
Songfile : PAnsiChar; // SongTitel incl. Pfad
end;
Delphi-Quellcode:
function BASSVIS_SetInfo(Param: PBASSVIS_PARAM; Infos: PBASSVIS_INFO):
BOOL; stdcall;
begin
Result := False;
case Param^.Kind of
BASSVISKIND_WINAMP:
begin
Result := BASSWinampVisAPI.WINAMPVIS_SetChanInfo(Param^.VisHandle,
Infos^.SongTitle,
Infos^.Songfile);
gruss