|
|
|
The COM data
types that you can use must comply with the IDispatch interface, which is
based upon the data types that can be transported through a COM VARIANT
structure.
These are only the default conversions applied at COM Interface DLL
export time. It is possible for the user to change the service after the COM
Interface DLL is exported and it is also possible for a COM client to call a
service without adhering to the definition in the type library. The default data
type in the Signature Editor for Linear values is COM's VT_DATE. If the user
chooses to convert a UNIFACE LinearDate or LinearDateTime to a numeric-based
type, for example, VT_R8 or VT_I4. The epoch used is the UNIFACE epoch (the
day before 01-Jan-0000), not the COM epoch (30-Dec-1899). The UNIFACE
epoch is based upon a value of 1.0 on 01-Jan-0000. The COM epoch is based
upon a value of 1.0 on 31-Dec-1899. UNIFACE expresses 31-Dec-1899 as
693961.0.
The UTYPE_IMAGE type can only be converted to a COM IPicture object or
an array of bytes
|
|
Certain issues
must be considered while using parameters.When you are calling in to a
Uniface operation which returns a Uniface service as an out parameter. Before
the operation return is given back to the COM caller, the service InstName is
wrapped in a call-in COM wrapper. The COM object wrapper is not deleted until
all references to the wrapper are released. If the UNIFACE service is
deleted, the wrapper is connected to a 'dead' object.When the COM wrapper is
deleted, the UNIFACE service is not deleted.
|
|
On the other
hand if you use a Com object as an in parameter,an instance of the object is
automatically created when passing it to the operation.When the operation is
completed the instance is deleted.This is the only situation when an instance
is deleted.
|