社区
Delphi
帖子详情
调用 dll 中窗口报错??????
夏夜倒骑驴
2014-01-01 04:11:15
调用 dll 中窗口
dll中代码为
try
frm := TfrmLogin.Create(Application) ;//(Application 的handle是主程序传进来的值)
frm.showmodal;
finally
freeandnil(frm);
end;
第一次调用正常,第二次再调用时,create处就报异常错误了, 哪里错了啊
...全文
96
1
打赏
收藏
调用 dll 中窗口报错??????
调用 dll 中窗口 dll中代码为 try frm := TfrmLogin.Create(Application) ;//(Application 的handle是主程序传进来的值) frm.showmodal; finally freeandnil(frm); end; 第一次调用正常,第二次再调用时,create处就报异常错误了, 哪里错了啊
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
boylafong
2014-01-02
打赏
举报
回复
create两次是有问题的。 设个标记,初始化一次就不再初始化了。
PB
调用
PB自己制作的COM组件
2010.7.2 在QQ朋友菠菜/yun(1216297)的引导下接触到了PB制作COM组件应用。 1、文件夹A下用COM的向导制作了一个不可视的object,制作了最简单的函数,最后打包成
dll
文件。 2、利用regsvr32注册了这个
dll
。 3、文件夹B下用ole方式
调用
这个
dll
,并
调用
里面的方法,测试正常。 注意要点:经过测试可以
调用
普通函数取得返回值,而当
调用
函数
中
有open
窗口
的语句后,虽然也能打开
窗口
正常看到窗体
中
的控件,并且
窗口
的open事件也能成功执行,哪怕是dw
中
的数据也能正常显示。但是当鼠标点击任何控件都会
报
非法操作的提示,关闭
窗口
也是如此。而文本框的getfocus,losefocus,modify等事件也不会被触发。最后判断为PB
调用
PB制作的com组件时,只能
调用
非可视的object做的,而如果含有窗体的,就会经常
报
非法操作。估计是此种方法不被支持。 测试环境pb11,当A文件夹下程序编译成
dll
时如果
报
错
,请删掉A目录下生成的没用的
dll
及其他文件,即可。 如果有哪位高人成功
调用
了PB下的可视化窗体又不会
报
错
的,请不吝赐教,QQ联系方式如下。 Kair 2010.7.2 QQ:55092518
Windows进程常用
DLL
模块注入技术
课程结合多种Windows进程常用
DLL
注入技术。远程线程注入APC注入,异步
调用
过程,向目标线程插入待执行任务从而完成注入。
窗口
消息注入,指定
窗口
进程注入,与全局钩子注入类似。环境块注入,获取进程上下文信息,直接性修改程序执行流程完成注入。进程入口点注入,在程序初始化的时机前将
dll
模块文件注入至目标主线程。进程调试级注入,涉及调试器相关功能
调用
知识点
dll
模块重定位内存注入,模拟操作系统加载PE文件方式,直接将
dll
文件内存数据写入目标进程并执行。导入表注入,涉及PE相关知识点,增加区段,移动导入表,增加导入表、增加导出函数,修复表项数据等。内核驱动级
Dll
模块注入技术,内核驱动入门扩展。
易语言-易语言动态
调用
DLL
动态
调用
DLL
,即用即卸载。 大型软件
中
,某项功能,
调用
DLL
,用完,卸载。再用,再
调用
,再卸载···· 静态
调用
的最大弊端:开始到最后,
DLL
都要占用!换句话,如果
DLL
文件被误删,那整个软件就挂了,
DLL
报
错
! 动态
调用
,就算
DLL
不存在,软件还可以正常运行,不
报
错
!! 几点说明: 1、支持
DLL
中
传递多个参数,例程
中
给出了简单示例。call功能来自易友,表示感谢! 2、如果有多个
DLL
文件,那么最好统一一下
调用
命令,比如都用“diy”或者“jiekou"等,方便统一
调用
! 3、在
DLL
中
,载入
窗口
命令
中
,必须用“对话框方式”!比如,载入(
窗口
1,,真)。 这样的目的:在
窗口
没结束前,代码
中
的 释放(句柄)命令无法执行。
窗口
结束,释放(句柄)。 4、大伙可以测试一下,
DLL
调用
后
DLL
文件能否删除。
动态
调用
DLL
例程-易语言
动态
调用
DLL
,即用即卸载。 大型软件
中
,某项功能,
调用
DLL
,用完,卸载。再用,再
调用
,再卸载···· 静态
调用
的最大弊端:开始到最后,
DLL
都要占用!换句话,如果
DLL
文件被误删,那整个软件就挂了,
DLL
报
错
! 动态
调用
,就算
DLL
不存在,软件还可以正常运行,不
报
错
!! 特别是,对于团队而言,多人协同开发,·····此处省略1万字!···· 几点说明: 1、支持
DLL
中
传递多个参数,例程
中
给出了简单示例。call功能来自易友,表示感谢! 2、如果有多个
DLL
文件,那么最好统一一下
调用
命令,比如都用“diy”或者“jiekou"等,方便统一
调用
! 3、在
DLL
中
,载入
窗口
命令
中
,必须用“对话框方式”!比如,载入(
窗口
1,,真)。 这样的目的:在
窗口
没结束前,代码
中
的 释放(句柄)命令无法执行。
窗口
结束,释放(句柄)。 4、大伙可以测试一下,
DLL
调用
后
DLL
文件能否删除。
Delphi
5,392
社区成员
262,732
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章