摘要:
初始在DLL中调用窗口直接使用Screen.ActiveForm然后show.效果:窗口出现立刻关闭,并提示错误.网上搜索结果:在Delphi中调用窗体有两种方式:模态调用与非模态调用。对应的方法是ShowModal与Show在调用之前,首先需要了解一个事实:主程序的Application与DLL的Application实际上是两个不同的东西。这就是说,直接使用DLL自身的Application变量肯定得不到预期的结果。解决的方法有两个:⑴ 主程序的Application句柄传递给DLL,并覆盖之。⑵ 主程序的Application直接传递给DLL,并覆盖之。同理,也可以把主程序的Screen 阅读全文
posted @ 2012-12-16 20:56
fred_rk
阅读(427)
评论(0)
推荐(0)
摘要:
DLL中的函数返回string类型,在Delphi中动态调用时可以得到正确结果,在关闭程序是提示错误:Invalid pointer operation在网上搜索了一圈,均指向内存泄露,以及下面的解决方法: Windows中如果一个动态库导出函数以参数形式传递或者返回了一个长字符串或者 动态数组(无论是直接传递还是包含在一个对象中),那么动态库以及其调用程序都必须得引用ShareMem单元。同样,如果程序或者库通过New或者 GetMem申请了内存,并且该内存在另一个模块中通过Dispose或FreeMem释放,也得这么做。务必把ShareMem放在程序或者库所有引用 单元之首。 Shar.. 阅读全文
posted @ 2012-12-16 20:36
fred_rk
阅读(945)
评论(0)
推荐(0)

浙公网安备 33010602011771号