我写了一个dll,在pb里面调用,有时出现非法操作,是不是内存没有释放或者地址没有还原的问题。
我在dll的函数中加了一些messagebox,发现函数执行正常,而且窗体也应经释放掉了,在函数结束的时候出现了非法操作。是不是地址的错误,看到例子用ExitProc保存和还原地址,不知道如何用
请高手赐教
我在dll的函数中加了一些messagebox,发现函数执行正常,而且窗体也应经释放掉了,在函数结束的时候出现了非法操作。是不是地址的错误,看到例子用ExitProc保存和还原地址,不知道如何用
请高手赐教
解决方案 »
- Delphi调用C语言写的Dll
- 拖动一个button水平移动时,好像默认有一个最小值,我这里试验为8个像素,如何只平移一个像素?
- 请教一下网络电视的编写原理?
- 急
- 关于mysql4.0与dbExpress的问题。
- f1book6.0使用中的问题
- ? 我用VC ATL 编写的控件,在VB里面以及ActiveX测试工具里面可以运行,还有Delphi集成环境里面可以显示,但是在Delphi编译后的程序中不
- 请教DELPHI dbgrideh+ACCESS的专家
- 请问一下谁能送我一个DELPHI的EXCEL读入控件(带多页),先谢了
- 公司的人都走了!就剩我一个了,浩大的工程还没完成,我现在一个人真累!
- 如何把在MIDI子窗口中的菜单合并到主窗口菜单中?
- 怎样编译一个DLL控件?
必须用PCHAR
原因如下:
delphi编写的dll如果要由vc,pb等调用涉及字符串的地方必须用pchar,因为vc等中的字符串,可以看作以#0为结束符的字符数组,而delphi中的string,默认为ansistring,虽然为了和c兼容在最后加上#0,单其结构比c复杂,其中包括字符串的长度,引用次数,字符串内容等,pchar一个字符串,那么该指针正好指向string 结构中字符串内容部分(以#0结尾),因此可以看作与c一样的字符串使用。所以必须使用pchar
在pb中调用时偶尔不会出错的,大部分情况下是出错的,估计是句柄的问题,
用delphi调用的时候是不出错的,郁闷死了