MFC ActiveX控件,在PowerBuilder里面使用,保存时出错!
用MFC写一个控件,全部默认,然后在pb里面使用,拖到pb里面的一个窗口之上,然后保存,出现非法操作,调用栈为:
mfc71d.dll!COleControl::GetPropsetData(tagFORMATETC * lpFormatEtc=0x0013e070, tagSTGMEDIUM * lpStgMedium=0x0013e054, const _GUID & fmtid={...}) 行59 C++
mfc71d.dll!COleControl::OnRenderData(tagFORMATETC * lpFormatEtc=0x0013e070, tagSTGMEDIUM * lpStgMedium=0x0013e054) 行307 + 0x14 C++
mfc71d.dll!COleControl::CControlDataSource::OnRenderData(tagFORMATETC * lpFormatEtc=0x0013e070, tagSTGMEDIUM * lpStgMedium=0x0013e054) 行242 + 0x1e C++
mfc71d.dll!COleDataSource::XDataObject::GetDataHere(tagFORMATETC * lpFormatEtc=0x0013e070, tagSTGMEDIUM * lpStgMedium=0x0013e054) 行596 + 0x13 C++
mfc71d.dll!COleControl::XDataObject::GetDataHere(tagFORMATETC * pformatetc=0x0013e070, tagSTGMEDIUM * pmedium=0x0013e054) 行120 C++
pbvm90.dll!10b2b0ef()
pbvm90.dll!10b2772e()
pbvm90.dll!10b26892()
pbvm90.dll!10b2f6eb()
pbvm90.dll!10b15e01()
pbudo90.dll!1274f88c()
kernel32.dll!7c80e14f()
kernel32.dll!7c801a53()
libjsybheap.dll!004039ea()
pbvm90.dll!10bc48a3()
libjsybheap.dll!00402aaa()
ntdll.dll!7c92d9da()
kernel32.dll!7c801879()
libjsybheap.dll!00402158()
libjsybheap.dll!004021e2()
pbvm90.dll!10bc7ff1()
pbvm90.dll!10b541a6()
pbvm90.dll!10b809c4()
libjsybheap.dll!004039ea()
libjsybheap.dll!004024c1()
libjsybheap.dll!004024c1()
libjsybheap.dll!00402aaa()
ntdll.dll!7c92d9da()
kernel32.dll!7c801879()
libjsybheap.dll!004024c1()
libjsybheap.dll!00403325()
libjsybheap.dll!00403325()
ntdll.dll!7c92df8a()
kernel32.dll!7c810e96()
ntdll.dll!7c92d7da()
kernel32.dll!7c810ac6()
ntdll.dll!7c92df8a()
kernel32.dll!7c810e96()
kernel32.dll!7c810e96()
libjsybheap.dll!00403325()
kernel32.dll!7c810ac6()
msvcrt.dll!77c09f8e()
pbvm90.dll!10bc8031()
pbvm90.dll!10b53d6e()
pbvm90.dll!10b3dc87()
pbvm90.dll!10b3c5f7()
pbvm90.dll!10cb7994()
pbvm90.dll!10cb79ad()
pbvm90.dll!10c5eb4e()
pbvm90.dll!10c5eb64()
pbvm90.dll!10c74b57()
pbvm90.dll!10c74b72()
pbudo90.dll!1274f39a()
pbudo90.dll!1274f3af()
pbudo90.dll!1274ed07()
ntdll.dll!7c939f68()
ntdll.dll!7c939ffa()
ntdll.dll!7c96b721()
ntdll.dll!7c939f68()
ntdll.dll!7c939ffa()
ntdll.dll!7c96b721()
ntdll.dll!7c939ffa()
ntdll.dll!7c939ffa()
ntdll.dll!7c96b060()
环境:
vc2003+pb9.0
注:我用vc使用这个控件,也是拖到界面,然后保存,居然根本就不会调用到COleControl::XDataObject::GetDataHere,应该是mfc控件与pb的兼容性问题,不知道大家有没有人遇到过,怎么解决此问题!