I am sorry for my English , I hope you will understand.
I use the package "Client_OLE2" for access to the objects, their methods and properties on the CLIENT side (Concretely I utillize COM library: CAPICOM.dll).
Problem:
I can not initialize property of object, by other object already initialized before (types are proper).
Just for example (java code and analogue PL/SQL code):
1)Get_Property():
--java/c code:
the_obj=spreadsheet_obj.Application
--PL/SQL code:
the_obj:=Get_Obj_Property(spreadsheet_obj, 'Application');
2) Set_Property():
--java/c code:
cell.Value="Hello Excel!"
--PL/SQL code:
Set_Property(cell, 'Value', 'Hello Excel!');
3)Invoke():
--java/c code:
v_book=v_books.Open("C:\1.xls")
--PL/SQL code:
ADD_ARG(v_arglist, 'C:\1.xls');
v_book := INVOKE_OBJ(v_book, 'Open', v_argList);
It's works.
I can not write this line in PL/SQL:
--java/c code:
Signer.Certificate = Certificates.Item(1);
--PL/SQL code:
??????????????????????
Logically to use the Next:
DECLARE
test Client_OLE2.obj_type;
...
BEGIN
...
--it's works
v_arglist := Client_OLE2.Create_Arglist;
Client_OLE2.Add_Arg(v_argList, 1);
test:=Client_OLE2.Invoke_Obj(Certificates,'Item', v_argList);
Client_OLE2.DESTROY_ARGLIST(v_argList);
--it's does not work
Client_OLE2.Set_Property(Signer, 'Certificate', test);
...
END;
But it does not work: "Type of the last arguments mismatch".
How can I write the line
Signer.Certificate = Certificates.Item(1)
in PL/SQL code?
Thanks.