Je viens de mettre la main sur D2009 et de l'utiliser avec l'un de nos projets existants - tout compile bien mais je viens de prendre DIRegEx pour utiliser une regex dans le projet. Toutefois, il émet toujours des avertissements à propos de String sur RawByteString et vice versa. Par exemple, Delphi 2009 - Chaîne implicite aux avertissements de conversion RawByteString
var
Response : string;
begin
Response := idHTTP.Get('http://www.somesite.com');
DIRegEx.SetSubjectStr(Response);
......
Maintenant, le paramètre SetSubjectStr est de type RawByteString, et la réponse de idHTTP.Get est juste chaîne. Il semble étrange que j'aurais soit, faire
ou
var
Response : Utf8String;
begin
Response := Utf8String(idHTTP.Get......);
Que dois-je faire ici.
Merci, j'ai lu cette page plus tôt et il a dit «Essentiellement, RawByteString désactive la conversion implicite. ce qui n'est pas ce que je vois ci-dessus. – Wizzard
RawByteString n'effectue pas de conversions implicites lorsqu'il est affecté à/à partir d'autres types de chaînes Ansi. Ce n'est pas le cas dans votre code. Vous affectez un UnicodeString à un RawByteString. Une conversion implicite est en cours (à moins que vous ne l'ayez saisie). –