+ basic rtl support for variant <-> interface implemented

This commit is contained in:
florian 2005-01-07 21:15:46 +00:00
parent 3cb0a53eca
commit 13c5439bb1
2 changed files with 25 additions and 4 deletions

View File

@ -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;
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_variant_to_interface(const v : variant) : iinterface;compilerproc;
function fpc_interface_to_variant(const i : iinterface) : variant;compilerproc;
{$endif HASVARIANT}
Procedure fpc_Read_End(var f:Text); compilerproc;
@ -356,7 +358,10 @@ function fpc_qword_to_double(q: qword): double; compilerproc;
{
$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
Revision 1.62 2004/12/05 11:49:06 florian

View File

@ -66,7 +66,7 @@ Begin
variantmanager.write0variant(f,v)
else
variantmanager.writevariant(f,v,len);
fmInput:
fmInput:
InOutRes:=105
else InOutRes:=103;
end;
@ -77,13 +77,26 @@ function fpc_variant_to_dynarray(const v : variant;typeinfo : pointer) : pointer
begin
variantmanager.vartodynarray(result,v,typeinfo);
end;
function fpc_dynarray_to_variant(dynarr : pointer;typeinfo : pointer) : variant;compilerproc;
begin
variantmanager.varfromdynarray(result,dynarr,typeinfo);
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.
---------------------------------------------------------------------}
@ -603,7 +616,10 @@ procedure initvariantmanager;
{
$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
Revision 1.18 2004/08/18 21:03:35 florian