Einzelnen Beitrag anzeigen

Benutzerbild von F.W.
F.W.

Registriert seit: 28. Jul 2003
Ort: Zittau
636 Beiträge
 
#4

Re: MSXML mit Unicode mit Hilfe der MSXML2_TLB bearbeiten

  Alt 29. Jun 2008, 15:12
Ok, ich hab jetzt was gefunden! Nach längerem Rumprobieren hab ich mir überlegt, dass ich ja nicht WideString und AnsiString vergleichen muss, sondern den AnsiString ja wieder zurückkonvertieren kann und dann WideString und WideString vergleichen kann. (der direkte Vergleich zwischen WideString und AnsiString ging nicht, oder ich hab was falsch gemacht).
So habe ich jetzt jedenfalls folgenden Code, der mit dem Beispielstring von sx2008 geklappt hat:
Delphi-Quellcode:
var
 W : Widestring;
 S : String;
 PW: PWideChar;
begin
 W := 'Das Möbel müffelt mächtig '+#$2801;

 S := WideCharToString(@W[1]);
 GetMem(PW, Length(S)*2+1);
 StringToWideChar(S, PW, Length(S)*2+1);
 if W <> PW then ShowMessage('Problem bei Umwandlung');
 FreeMem(PW);
end;
Was ich nur gern nochmal von jemandem bestätigt hätte ist, dass ich für einen PWideChar GetMem(PW, Length(AnsiString)*2+1) aufrufen muss.?
Irgendwie zieht es mich bei WideStrings immer dazu GetMem(...,...+2) zu reservieren...
  Mit Zitat antworten Zitat