[ dekius @ 25.02.2005. 10:28 ] @
Dakle problem je sledeci. Imam Klasu (CMybrowser) koja nasledjuje CHtmlView MFC klasu i izigrava pomocni browser. Sve to lepo funkcionise, no doticni browser treba da prikazuje stranice koje instanciraju i komuniciraju sa COM objektima. E sad i to je u redu, je li, lepo ja uradim var obj=new ActiveXObject("server.objekat"); i sve fino funkcionise, podaci se upisuju i snimaju, ALI, pri iskljucivanju browsera dolazi do, svakako poznate poruke, Debug assertion failed program ..... bla, bla File cmdtarg.cpp Line 48 Pri tome fail nastaje u (Destruktor CCmdTarget-a): CCmdTarget::~CCmdTarget() { #ifndef _AFX_NO_OLE_SUPPORT if (m_xDispatch.m_vtbl != 0) ((COleDispatchImpl*)&m_xDispatch)->Disconnect(); ASSERT(m_dwRef <= 1); <======= OVDE jer je vrednost m_dwRef=2 #endif #ifdef _AFXDLL m_pModuleState = NULL; #endif } E sad jos me vise zbunjuje sto se to ne dogadja svaki put, kada samo lista strane (od kojih svaka instancira COM objekat) nema nikakvih problema, ali zato kada snimam podatke na hard i probam da zatvorim browser svaki drugi, treci put se dogadja opisani problem. Inace podaci se uredno zapisuju i ocitavaju, objekat fajlove uredno zatvara nakon koriscenja (ja pisao, pa znam). Pretpostavljam da je neki problem oko broja referenci na COM, ali samo nagadjam, obzirom da Browser nema direktu komunikaciju sa COM-om koji stranice instanciraju prilicno sam zbunjen. Ako neko ima ideju neka prijavi, naravno sve vreme pricamo o MFC-u. Deki |