COM w.r.t Uniface -Limitations
•Date time handling
•Image datatype
•Using objects as parameters
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.