Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.171 Beiträge
 
Delphi 12 Athens
 
#4

Re: Probleme mit pchar oder Typecast

  Alt 24. Dez 2009, 08:53
Daß das überhaupt funktioniert?
Du rufst es so auf
PChar := StrPCopy(WideCharArray, AnsiString/UTF8String); also welche Version wird nun genutzt ... wobei der erste Parameter einen Pointer möchte und einganzes Array übergibst,
Delphi-Quellcode:
function StrPCopy(Dest: PAnsiChar; const Source: AnsiString): PAnsiChar;
function StrPCopy(Dest: PWideChar; const Source: UnicodeString): PWideChar;

Zitat von R2009:
In der DLL (C) kommt der nullterminierte String um eins nach rechts verschoben an.
AnsiString/Utf8String hat #0 ($00) und WideString/UnicodeString #0 ($00$00) am Ende.

Ist das CHAR in deinem C ein WCHAR (Unicode)?
Und das nacht rechts verschoben ... behebst du das mit wtic_pascal oder löst dieses (i+1) diesen Fehler aus.
PS: i<=strlen(Source)+1 kopiert ein Zeichen zuviel, da es mit i=0 anfängt.
> entweder i<=strlen(Source) oder i<strlen(Source)+1
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat