自己写的ActiveX控件,仅在IE中无法触发自定义事件,求助!
用BCB6.0写了个ActiveX控件(通过VCL控件转),ActiveX控件在BCB的From中测试全部通过,但是在IE中除了TNotify声明的事件外都无法激活。利用调试日志,发现实际上VCL中的事件点燃函数已经运行,而且函数指针不为空。但是IE中的javascript事件代码无响应!
在网上搜索此类问题,确实也有其他人问,但没有找到答案。
各位高手是否遇到过?
VCL控件的代码如下:
事件声明:
typedef void __fastcall (__closure *TOnIEReceiveData)(System::TObject* Sender, WideString Data);
TOnIEReceiveData FOnReceiveData;
__property TOnIEReceiveData OnReceiveData = { read = FOnReceiveData, write = FOnReceiveData};
事件点燃函数:
void __fastcall THollyCommunicateClient::DoOnReceiveData(IECommMessage Message)
{
CHECKPOINT;//调试日志
if(FOnReceiveData)
{
FOnReceiveData(this, WideString(Message.Body));
WriteLine("[检查点]\t[IE Comm]\t[检查点]\t Invoke FOnReceiveData()");//调试日志,这句日志被激活了
}
else
WriteLine("[检查点]\t[IE Comm]\t[检查点]\t FOnReceiveData函数指针为空");;//调试日志