佚名通过本文主要向大家介绍了c#自定义控件事件,textbox控件事件,c#控件事件,控件事件,c#动态添加控件事件等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: ATL ActiveX控件事件
描述:
解决方案1:
描述:
我做了一个ATL的ActiveX控件,里面有一个接口,通过连接点添加了一个事件
[id(1)] void Popup(char* Msg);
通过添加连接点相应产生了一个事件HRESULT Fire_Popup(char * Msg)
接口idl定义是这样的:
[id(1), helpstring("method makeEvent")] HRESULT makeEvent( CHAR* msg);
接口函数:
STDMETHODIMP CtestInterface::makeEvent(CHAR* msg)
{
// TODO: Add your implementation code here
Fire_Popup(msg);
return S_OK;
}
用户在使用这个控件的时候,通过调用接口makeEvent()来触发这个事件。
但是我发现当事件的参数是整形,空的时候,没有问题,但是是char*这种类型的时候,就会出错,或者没有响应。有没有其他办法传递字符串参数,或者这个事件本身不支持char*作为参数
解决方案1:
转char*为BSTR或__bstr_t
解决方案2:最好使用BSTR。