现在有一个用ATL写的Activex控件,已经在VC、C#跟VB中调试通过,工作正常。
但是在delphizho中使用时,回调Onxxxx(int nPos,VARIANT user)事件时会出这样的错误提示:Access Violation at address 0046c806 in module'test.exe' Read of address 00000000.
程序还是可以继续执行。
百思不得其解,望高手指点。谢了先。
但是在delphizho中使用时,回调Onxxxx(int nPos,VARIANT user)事件时会出这样的错误提示:Access Violation at address 0046c806 in module'test.exe' Read of address 00000000.
程序还是可以继续执行。
百思不得其解,望高手指点。谢了先。
解决方案 »
- 怎样读取表中指定行的记录?
- D7环境如何将一个dll加载为类型库?
- ADOQUERY.open 没反应,请高手看一下
- 很菜的问题,编程后的.exe程序总是MDIAPP.exe 如何改名呀?(白给分的!!!)
- 在一个我自己编写的控件中使用了字符串资源文件和一个*.dfm文件,在发布的时候一定也要发布该资源文件和dfm文件吗?
- 高分请教:如何捕捉DBGRID中记录移动的事件??
- 向大家推荐一组可以在运行期对控件进行修改的精彩控件 DSN
- 一个Delphi函数的参数
- DELPHI 中如何执行 DOS 下的.EXE文件 ?
- 动态修改表结构??
- ( qxj(小小小小小小程序员)等高手快来救我!!!!)d7里用rave打印储存在数据库中的jpg文件
- 我程序出毛病了,谁帮我看看,我给100分呀急死我了
dispinterface _ISpeakEvents
{
properties:
methods:
[id(0), helpstring("method SentStart")] void SentenceStart(int nStartPos,VARIANT user);
};delphi实现是:procedure TForm1.TTSCtrl1SentenceStart(Sender: TObject; nStartPos: Integer; user: OleVariant);
begin
end;
在开始执行begin前就出错了。望指点。
跟踪汇编码时,出错的地方是读取了一个空指针指向的值。
在VC里用ATL实现一个空的Activex,然后给连接点事件加一个方法,最好是有两个参数的,
其中一个参数为int型的,另一个为VARIANT型的。然后把生成对的控件拿到delphi环境下去用。一定要实现连接点的这个方法。这样问题就一定重现。我在试验的过程中发现,如果是两个VARIANT型的也会出错。大家试一试吧。
希望能碰到高手,可以告知原因。