questa è l'intestazione del file activex exe:
codice:
// Generated .IDL file (by the OLE/COM Object Viewer)
//
// typelib filename: Sap2000.exe
[
uuid(CB8ACBCC-972A-4B7E-9298-714E74858332),
version(23.0),
helpstring("Sap2000v12"),
custom(50867B00-BB69-11D0-A8FF-00A0C9110059, 9782)
]
library Sap2000
{
// TLib : // TLib : OLE Automation : {00020430-0000-0000-C000-000000000046}
importlib("stdole2.tlb");
// TLib : SAPFire v1.0 Callback Type Library for SAP2000v12 : {8F722E3E-DAD4-4F11-BA6C-312F2977F69A}
importlib("CsiGo_c.dll");
puo' aiutare?
Inoltre,e molto importante: ho incluso nel mio progetto dei file .tlh che venivano generati dalla direttiva #import file.exe che ho rimpiazzato dll' include dei .tlh e .tli stessi generati in precedenza.
Da allora non ho piu' rigenerato questi files.
posto il codice completo:
codice:
CLSID clsid;
m_StressIterator = NULL;
IUnknown *punk;
hr = CLSIDFromString(L"{CB8ACBCC-972A-4B7E-9298-714E74858332}", &clsid);
hr =CoCreateInstance(clsid,NULL,CLSCTX_SERVER,IID_IUnknown, (void **)&punk) ;
hr= punk->QueryInterface(__uuidof(Sap2000::_SapObject), (void**)&m_pSap);
ll'errore è su questa riga:
codice:
hr =CoCreateInstance(clsid,NULL,CLSCTX_SERVER,IID_IUnknown, (void **)&punk) ;
ed è: hr 0x80040154 Interfaccia non registrata. HRESULT