在网上搜索此类问题,确实也有其他人问,但没有找到答案。
各位高手是否遇到过?
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函数指针为空");;//调试日志
10 个解决方案
#1
留下email,俺给你发
#2
需手工写点火代码,以事件GetMessage为例
void __fastcall TseatImpl::OnGetMessageEvent(TObject *Sender)
{
Fire_OnGetMessage();
};
在需要触发事件时调用就行了
OnGetMessage(this);
void __fastcall TseatImpl::OnGetMessageEvent(TObject *Sender)
{
Fire_OnGetMessage();
};
在需要触发事件时调用就行了
OnGetMessage(this);
#3
matq2008(叶子.net) ,你好:
我的邮箱:delphi@yuan.com.cn
我有点燃事件啊!DoOnReceiveData()就是,它里面已经触发了事件指针。
还是,你的意思要针对OCX控件做二次点燃?为什么呢?
我的邮箱:delphi@yuan.com.cn
我有点燃事件啊!DoOnReceiveData()就是,它里面已经触发了事件指针。
还是,你的意思要针对OCX控件做二次点燃?为什么呢?
#4
大家一定要帮忙啊
#5
大家一定要帮忙啊
#6
关于VCL中的事件点燃函数,
没接触过。
关注。。
没接触过。
关注。。
#7
up
#8
up
#9
up
#10
IE内置的脚本引擎Jscript和VBScript仅支持变体类型,其它数据类型,包括字符串都不被支持。更改你的事件参数类型看看。
#1
留下email,俺给你发
#2
需手工写点火代码,以事件GetMessage为例
void __fastcall TseatImpl::OnGetMessageEvent(TObject *Sender)
{
Fire_OnGetMessage();
};
在需要触发事件时调用就行了
OnGetMessage(this);
void __fastcall TseatImpl::OnGetMessageEvent(TObject *Sender)
{
Fire_OnGetMessage();
};
在需要触发事件时调用就行了
OnGetMessage(this);
#3
matq2008(叶子.net) ,你好:
我的邮箱:delphi@yuan.com.cn
我有点燃事件啊!DoOnReceiveData()就是,它里面已经触发了事件指针。
还是,你的意思要针对OCX控件做二次点燃?为什么呢?
我的邮箱:delphi@yuan.com.cn
我有点燃事件啊!DoOnReceiveData()就是,它里面已经触发了事件指针。
还是,你的意思要针对OCX控件做二次点燃?为什么呢?
#4
大家一定要帮忙啊
#5
大家一定要帮忙啊
#6
关于VCL中的事件点燃函数,
没接触过。
关注。。
没接触过。
关注。。
#7
up
#8
up
#9
up
#10
IE内置的脚本引擎Jscript和VBScript仅支持变体类型,其它数据类型,包括字符串都不被支持。更改你的事件参数类型看看。