mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-14 12:09:30 +02:00
compiler, rtl: add vtUnicodeString (issue #0018560)
git-svn-id: trunk@16833 -
This commit is contained in:
parent
e77a9051c8
commit
e4a6221bf3
@ -992,8 +992,9 @@ implementation
|
|||||||
vtWideString = 15;
|
vtWideString = 15;
|
||||||
vtInt64 = 16;
|
vtInt64 = 16;
|
||||||
vtQWord = 17;
|
vtQWord = 17;
|
||||||
vtAnsiString16 = 18;
|
vtUnicodeString = 18;
|
||||||
vtAnsiString64 = 19;
|
vtAnsiString16 = 19;
|
||||||
|
vtAnsiString64 = 20;
|
||||||
|
|
||||||
procedure tcgarrayconstructornode.pass_generate_code;
|
procedure tcgarrayconstructornode.pass_generate_code;
|
||||||
var
|
var
|
||||||
@ -1151,10 +1152,16 @@ implementation
|
|||||||
freetemp:=false;
|
freetemp:=false;
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
if is_widestring(lt) or is_unicodestring(lt) then
|
if is_widestring(lt) then
|
||||||
begin
|
begin
|
||||||
vtype:=vtWideString;
|
vtype:=vtWideString;
|
||||||
freetemp:=false;
|
freetemp:=false;
|
||||||
|
end
|
||||||
|
else
|
||||||
|
if is_unicodestring(lt) then
|
||||||
|
begin
|
||||||
|
vtype:=vtUnicodeString;
|
||||||
|
freetemp:=false;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
@ -387,6 +387,7 @@
|
|||||||
vtWideString = 15;
|
vtWideString = 15;
|
||||||
vtInt64 = 16;
|
vtInt64 = 16;
|
||||||
vtQWord = 17;
|
vtQWord = 17;
|
||||||
|
vtUnicodeString = 18;
|
||||||
|
|
||||||
type
|
type
|
||||||
PVarRec = ^TVarRec;
|
PVarRec = ^TVarRec;
|
||||||
@ -418,6 +419,7 @@
|
|||||||
vtInterface : (VInterface: Pointer);
|
vtInterface : (VInterface: Pointer);
|
||||||
vtWideString : (VWideString: Pointer);
|
vtWideString : (VWideString: Pointer);
|
||||||
vtInt64 : (VInt64: PInt64);
|
vtInt64 : (VInt64: PInt64);
|
||||||
|
vtUnicodeString : (VUnicodeString: Pointer);
|
||||||
vtQWord : (VQWord: PQWord);
|
vtQWord : (VQWord: PQWord);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
@ -310,6 +310,9 @@ begin
|
|||||||
else
|
else
|
||||||
if CheckArg(vtAnsiString,false) then
|
if CheckArg(vtAnsiString,false) then
|
||||||
hs:=ansistring(Args[doarg].VAnsiString)
|
hs:=ansistring(Args[doarg].VAnsiString)
|
||||||
|
else
|
||||||
|
if CheckArg(vtUnicodeString,false) then
|
||||||
|
hs:=UnicodeString(Args[doarg].VUnicodeString)
|
||||||
else
|
else
|
||||||
if CheckArg(vtVariant,true) then
|
if CheckArg(vtVariant,true) then
|
||||||
hs:=Args[doarg].VVariant^;
|
hs:=Args[doarg].VVariant^;
|
||||||
|
Loading…
Reference in New Issue
Block a user