Non credo sia così impossibile cominciare a dare qualche suggerimento, siccome la mia domanda era...
E' possibile leggere dei valori di ritorno da un oggetto COM?? se si.. come?
Comunque metto un pò di codice.
Questo è il codice della COM, scritta in C#, che vi ho semplificato al massimo:
Da C++, tenendo conto che ho già istanziato l'oggetto, e che ho ottenuto il puntatore alla sua interfaccia:codice:using System; using System.Runtime.InteropServices; namespace OSNETDBInterface { [GuidAttribute("E1362857-D6CC-4541-8971-61CC776ADF83")] public interface IDbInterface { uint nCols { get; } ulong nRows { get; } } [ClassInterface(ClassInterfaceType.None)] public class DbInterface : IDbInterface { private uint _nCols=0; private ulong _nRows=0; public uint nCols { get{return _nCols;} } public ulong nRows { get{return _nRows;} } public DbInterface() { _nCols=5; _nRows = 35000; } } }
L'output delle printf è sempre una stesso valore numerico, e non corrisponde ai valori assegnati nel costruttore.codice://prtDb è il puntatore all'interfaccia printf("(DB Module)ptrDB->nRows %d", ptrDB->nRows); printf("(DB Module)ptrDB->nCols %d", ptrDB->nCols);

Rispondi quotando