![]() |
[D2009] HTTPEncode (aus HTTPApp.pas) funktioniert nicht
Ich habe die HTTPEncode-Funktion aus der Unit HTTPApp.pas umgeschrieben so, dass ich in Delphi 2009 nicht mit AnsiStrings rumfuddeln muss:
Delphi-Quellcode:
Leider tritt jedes Mal wenn Zeichen kodiert werden müssen (z.B. bei dem String 'Lala & Po - Winke Winke') folgender Fehler auf:
function HTTPEncode(const AStr: String): String;
// The NoConversion set contains characters as specificed in RFC 1738 and // should not be modified unless the standard changes. const NoConversion = ['A'..'Z','a'..'z','*','@','.','_','-', '0'..'9','$','!','''','(',')']; var Sp, Rp: PChar; begin SetLength(Result, Length(AStr) * 3); Sp := PChar(AStr); Rp := PChar(Result); while Sp^ <> #0 do begin if Sp^ in NoConversion then Rp^ := Sp^ else if Sp^ = ' ' then Rp^ := '+' else begin FormatBuf(Rp^, 3, '%%%.2x', 6, [Ord(Sp^)]); Inc(Rp,2); end; Inc(Rp); Inc(Sp); end; SetLength(Result, Rp - PChar(Result)); end; Zitat:
Was läuft da verkehrt? |
Re: [D2009] HTTPEncode (aus HTTPApp.pas) funktioniert nicht
Warum benutzt du nicht die überladene Funktion die mit normalen Strings benutzt werden kannn (ist in der gleichen Unit) ????
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:56 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz