mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-18 15:09:20 +02:00
+ basic rtl support for variant <-> interface implemented
This commit is contained in:
parent
3cb0a53eca
commit
13c5439bb1
@ -208,6 +208,8 @@ Procedure fpc_Write_Text_WideChar(Len : Longint;var t : Text;c : WideChar); comp
|
|||||||
procedure fpc_write_text_variant(Len : Longint;var f : Text;const v : variant); compilerproc;
|
procedure fpc_write_text_variant(Len : Longint;var f : Text;const v : variant); compilerproc;
|
||||||
function fpc_variant_to_dynarray(const v : variant;typeinfo : pointer) : pointer;compilerproc;
|
function fpc_variant_to_dynarray(const v : variant;typeinfo : pointer) : pointer;compilerproc;
|
||||||
function fpc_dynarray_to_variant(dynarr : pointer;typeinfo : pointer) : variant;compilerproc;
|
function fpc_dynarray_to_variant(dynarr : pointer;typeinfo : pointer) : variant;compilerproc;
|
||||||
|
function fpc_variant_to_interface(const v : variant) : iinterface;compilerproc;
|
||||||
|
function fpc_interface_to_variant(const i : iinterface) : variant;compilerproc;
|
||||||
{$endif HASVARIANT}
|
{$endif HASVARIANT}
|
||||||
|
|
||||||
Procedure fpc_Read_End(var f:Text); compilerproc;
|
Procedure fpc_Read_End(var f:Text); compilerproc;
|
||||||
@ -356,7 +358,10 @@ function fpc_qword_to_double(q: qword): double; compilerproc;
|
|||||||
|
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.63 2005-01-06 13:39:59 florian
|
Revision 1.64 2005-01-07 21:15:46 florian
|
||||||
|
+ basic rtl support for variant <-> interface implemented
|
||||||
|
|
||||||
|
Revision 1.63 2005/01/06 13:39:59 florian
|
||||||
* widecharray patch from Peter
|
* widecharray patch from Peter
|
||||||
|
|
||||||
Revision 1.62 2004/12/05 11:49:06 florian
|
Revision 1.62 2004/12/05 11:49:06 florian
|
||||||
|
@ -66,7 +66,7 @@ Begin
|
|||||||
variantmanager.write0variant(f,v)
|
variantmanager.write0variant(f,v)
|
||||||
else
|
else
|
||||||
variantmanager.writevariant(f,v,len);
|
variantmanager.writevariant(f,v,len);
|
||||||
fmInput:
|
fmInput:
|
||||||
InOutRes:=105
|
InOutRes:=105
|
||||||
else InOutRes:=103;
|
else InOutRes:=103;
|
||||||
end;
|
end;
|
||||||
@ -77,13 +77,26 @@ function fpc_variant_to_dynarray(const v : variant;typeinfo : pointer) : pointer
|
|||||||
begin
|
begin
|
||||||
variantmanager.vartodynarray(result,v,typeinfo);
|
variantmanager.vartodynarray(result,v,typeinfo);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
function fpc_dynarray_to_variant(dynarr : pointer;typeinfo : pointer) : variant;compilerproc;
|
function fpc_dynarray_to_variant(dynarr : pointer;typeinfo : pointer) : variant;compilerproc;
|
||||||
begin
|
begin
|
||||||
variantmanager.varfromdynarray(result,dynarr,typeinfo);
|
variantmanager.varfromdynarray(result,dynarr,typeinfo);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
function fpc_variant_to_interface(const v : variant) : iinterface;compilerproc;
|
||||||
|
begin
|
||||||
|
variantmanager.vartointf(result,v);
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
function fpc_interface_to_variant(const i : iinterface) : variant;compilerproc;
|
||||||
|
begin
|
||||||
|
variantmanager.varfromintf(result,i);
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
{ ---------------------------------------------------------------------
|
{ ---------------------------------------------------------------------
|
||||||
Overloaded operators.
|
Overloaded operators.
|
||||||
---------------------------------------------------------------------}
|
---------------------------------------------------------------------}
|
||||||
@ -603,7 +616,10 @@ procedure initvariantmanager;
|
|||||||
|
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.19 2004-12-05 11:49:06 florian
|
Revision 1.20 2005-01-07 21:15:46 florian
|
||||||
|
+ basic rtl support for variant <-> interface implemented
|
||||||
|
|
||||||
|
Revision 1.19 2004/12/05 11:49:06 florian
|
||||||
* implemented helper for variant<->dyn. array type cast
|
* implemented helper for variant<->dyn. array type cast
|
||||||
|
|
||||||
Revision 1.18 2004/08/18 21:03:35 florian
|
Revision 1.18 2004/08/18 21:03:35 florian
|
||||||
|
Loading…
Reference in New Issue
Block a user