向非托管代码传递委托时,托管应用程序必须让这些委托保持活动状态,直到确信不 PhonicDLL.tpi_SetEventNotifyCallBackProc(pdataRec); 这一段应该怎么写? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 所谓“保持活动状态”,就是保证其不被GC回收。例如:1. 如果你的pdataRec是static的,例如放到一个static的集合里,然后等回调之后才从集合里清除掉。2. 显示地使用 GC.KeepAlive 来阻止 pdataRec 被处理掉。 这个能编译通过吗?在static函数Main里面调用的PhonicDLL.tpi_SetEventNotifyCallBackProc(pdataRec);但是 pdataRec 却不是静态成员变量。p_MyPhonicCallBack pdataRec = new p_MyPhonicCallBack(MyPhonicCallBack);静态函数中应该无法访问非静态成员吧。 把 pdataRec 改成static就可以了吧。 是呀,可是下面那句 PhonicDLL.tpi_SetEventNotifyCallBackProc(pdataRec); 就编译不通过了,于最匹配的方法具有一些无效参数,求赐教。 你把tpi_SetEventNotifyCallBackProc这个函数的C++定义贴出来看看 C#与IP地址 怎样让DataGridView再次绑定时不清空原在数据? 如何在textbox中把字符串以货币形式显示! 有经验的给指点这个程序,我理解的不是很明白 谁能告诉下有几种窗体之件通信的方法 关于Socket接收数据包根据格式取值问题(急!!!!!!!) 向各位高手请教:如何将progressBar与数据库查询联系起来? c#中怎么把string转换成int,在线等 送分啦,VS.net 2003里整行删除是哪个快捷键?找了半天没找到。 C#获取excel表名、列名的问题 treeciew 的问题 streamreader outofmemory
2. 显示地使用 GC.KeepAlive 来阻止 pdataRec 被处理掉。
PhonicDLL.tpi_SetEventNotifyCallBackProc(pdataRec);但是 pdataRec 却不是静态成员变量。
p_MyPhonicCallBack pdataRec = new p_MyPhonicCallBack(MyPhonicCallBack);
静态函数中应该无法访问非静态成员吧。