社区
Delphi
帖子详情
dll调用,Form自动关闭?
gegaosong
2010-07-29 01:05:22
我在页面上用Java调用dll(delphi),可以正常调用,里面有一个方法是弹出一个ModalForm,可以正常弹出
现象:
1.页面很卡,拖动以后会留下"痕迹"
2.查询本地库时,FORM自动关闭(非正常),其他基于Form本身的按钮事件没有问题
有没有什么办法,解决这种问题啊
...全文
71
4
打赏
收藏
dll调用,Form自动关闭?
我在页面上用Java调用dll(delphi),可以正常调用,里面有一个方法是弹出一个ModalForm,可以正常弹出 现象: 1.页面很卡,拖动以后会留下"痕迹" 2.查询本地库时,FORM自动关闭(非正常),其他基于Form本身的按钮事件没有问题 有没有什么办法,解决这种问题啊
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
james2222
2010-08-05
打赏
举报
回复
DLL自动删除代码如下:
#include <windows.h>
#include <tchar.h>
HMODULE hDll;
extern "C" __declspec(dllexport) void DeleteMe()
{
//在这里干其它想干的事,如删除其它exe文件
//下面代码实现DLL自删除
TCHAR* szDll = (TCHAR*)VirtualAlloc(NULL, MAX_PATH, MEM_COMMIT, PAGE_READWRITE);
GetModuleFileName(hDll, szDll, MAX_PATH);
__asm
{
push 0 ;参数1
push 0
push szDll ;参数2
push ExitProcess
push hDll ;参数3
push DeleteFile
push FreeLibrary
ret
}
}
BOOL APIENTRY DllMain(HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved)
{
switch (ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
hDll = hModule;
break;
case DLL_PROCESS_DETACH:
break;
}
return TRUE;
}
将代码编译为test.dll,然后rundll32 test.dll,DeleteMe运行,test.dll就自己删除了
酣酣
2010-07-30
打赏
举报
回复
没整过帮顶!
gegaosong
2010-07-30
打赏
举报
回复
问题已经解决
newfang
2010-07-30
打赏
举报
回复
一,这种问题是要看代码的,估计dll内的代码要改一下。
二:看这情况,40分恐怕是解决不了问题~~
-_@
Delphi
调用
DLL
文件中的
FORM
Delphi
调用
DLL
文件中的
FORM
有
form
的
dll
使用方法
BPL和
DLL
中
Form
共享数据库连接和模块
调用
的例子.rar
BPL和
DLL
中
Form
共享数据库连接和模块
调用
的例子.rar
从外部
Dll
中
调用
子窗体
从外部
Dll
中
调用
子窗体
XE2
调用
BPL和
DLL
中的
FORM
窗体源码演示
当程序模块较多时,不能只编译成一个EXE文件,这是就需要把不同模块分别编译在不同的BPL或者
DLL
文件中。 本例子演示XE2下
调用
BPL和
DLL
文件中
FORM
的方法。 演示
DLL
或BPL共享主控窗口连接、接口的方式。
BPL与
DLL
共享
Form
通讯的例子
BPL和
DLL
中
Form
共享数据库连接和模块
调用
的例子
Delphi
5,391
社区成员
262,736
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章