Der Fehler liegt darin das Puffer gebraucht werden. Solche mit mindestens 12 Chars.
Delphi-Quellcode:
function GetLibraryVersion(pLibVersion: PChar;
pInterfaceVersion: PChar): Integer; cdecl; external 'lib\PlayerLib.dll';
procedure TForm1.Button2Click(Sender: TObject);
var
eResult: Integer;
// ein Zeichen mehr zur Sicherheit kann nicht schaden
LibVersion, InterfaceVersion: array [0..12] of Char;
begin
// leere C Strings bestehen aus einem 0-Byte nicht der Ziffer '0'
LibVersion[0] := #0;
InterfaceVersion[0] := #0;
eResult := GetLibraryVersion(LibVersion, InterfaceVersion);
Label3.Caption := LibVersion + ' / ' + InterfaceVersion + ' / ' + IntToStr(eResult);
end;