[Lazarus] non Unicodode application
Michael Van Canneyt
michael at freepascal.org
Fri Feb 12 17:16:29 CET 2016
On Fri, 12 Feb 2016, Mattias Gaertner wrote:
> On Fri, 12 Feb 2016 15:16:38 +0100 (CET)
> Michael Van Canneyt <michael at freepascal.org> wrote:
>
>> [...]
>> {$define String:=RawByteString}
>>
>> and you are done.
>
> Won't compile when calling RTL functions with var parameters.
>
> I fail to see why RawByteString should do less conversions than using
> AnsiString, when porting a Delphi 7 application. Can you give an
> example?
As I understand it, calling
Procedure MyProcedure(S : RawByteString) ;
begin
end;
with
Type
T = Type Ansistring(850);
Var
D : T;
begin
MyProcedure(d)
end;
will not cause any code page conversion. While if it was
Procedure MyProcedure(S : String) ;
Then the compiler would first convert the code page to
DefaultSystemCodePage or CP_ACP
Michael.
More information about the Lazarus
mailing list