版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、DELPHI 7 动态链接库 DLL 断点调试马根峰( 广东联合电子服务股份有限公司 , 广州 510300)1 Delphi 几个经典版本简介Delphi 从 1995 年的 版本,发展到现在的最新的 XE3 版本,历经 N 多版本,但最为经 典的几个版本个人觉得应属、2007 和 2010。Delphi 应该是 Delphi 用户最多的版本。Delphi 2007 是功能就不多说了,归根结底一句话,它是 AnsiString 的最后一个版本, 在 Delphi 2007 中, string 类型映射为 AnsiString , char 类型映射为 AnsiChar , Pchar 类型
2、映射为PAnsiChar。所以DELPHI低版本的程序可以较轻松地迁移到DELPHI 2007版本。Delphi 2007 也是 Delphi 程序员很容易上手的晚期版本。从 Delphi2009 开始起,到现在的 Delphi XE3 为止,都是 unicode 版本。 String 类型映 射为 UnicodeString 而不是 AnsiString , Char 类型映射为 WideChar, PChar 类型映射为 PWideChar。由于 Delphi 、2007 和 2010 在界面上乃至功能上的一些变化,所以在动态链接库 DLL 断点调试上,有较大的变化。在今后几天的时间中,笔
3、者会以三篇文章来分别详细地介绍 Delphi 7 、 2007 和 2010 这三个版本中的 DLL 断点调试技术。本篇文章来详细地介绍 Delphi 7 中的动态链接库 DLL 断点调试技术。2 DELPHI 7 的 DLL 断点设置与 DLL 调试 在 DELPHI 以及以前的版本中,动态链接库的调试方法如下:点击菜单 Run-'Parameters.打开 Run Parameters窗口,如图 1 所示。图 1 点击菜单 Run-'Parameters.打开 Run Parameters窗口在Run Parameters窗口中,在 Host Application中填入宿
4、主程序的完整路径然后选择,如图2所示。图 2 在 Run Parameters 窗 口中, 点击 Browse 选中宿主程序G:Delphi_DII_Debug70Mage nf_Master设置断点后,输入 F9或者点击Run->Run来运行宿主程序,如图3所示-旦昱7 Delphi. Y -*11 LkiIJ i AEEE33 赴斗|Cidrliiire | WrU 5v:*mt站匚:Hi血 | Dj:半*了 BT'E | ADD2世ee$勺丁叔話HI汀建赳国伺Qfw翻出g'差蚕图3设置断点后,输入 F9或者点击Run->Run来运行宿主程序输入1和2后,然后点
5、击按钮“=”,即进入DLL的断在主程序窗口对应的文本框中, 点调试,如图4所示。7 MlY - ft±nif_Deill Ai v-J JZL图4进入DLL的断点调试3例子中的宿主程序及DLL程序代码宿主程序代码-unit UDIIDebug;in terfaceusesWin dows. Messages, SysUtils, Varia nts. Classes, Graphics, Con trols, Forms,Dialogs, StdCtrls, ExtCtrls, Butt on s,Contnrs , ActiveX, StrUtils ;typeTDII_Add=f
6、u nctio n(i nt_1,i nt_2:i nteger):i nteger;stdcall;TfrmDllDebug = class(TForm)Edit1: TEdit;Edit2: TEdit;Label1: TLabel;Edit3: TEdit;BtnAdd: TButton;procedure FormCreate(Sender: TObject);procedure FormClose(Sender: TObject; var Action: TCloseAction);procedure BtnAddClick(Sender: TObject);private Priv
7、ate declarations public Public declarations HInst:Thandle;FDll_Add:TFarProc;functionDll_Add:TDll_Add;fmprocedure (Sender: TObject); beginhinst:=loadlibrary('');if hinst>0 thenbeginFDll_Add:=getprocaddress(hinst,pchar('Dll_Add');if FDll_Add<>nil thenfunctionDll_Add:=TDll_Add(
8、FDll_Add)elsemessagedlg('Fatal error! Function not be found!',mtWarning, mbYes, 0) ;endelsemessagedlg('Fatal error! not be found!',mtWarning, mbYes, 0) ;end; procedure (Sender: TObject; var Action: TCloseAction); begintryfreelibrary(hinst); except end;end;procedure (Sender: TObject);
9、varint1,int2,int_return:integer;beginint1:=strToInt; int2:=strToInt;int_return:=functionDll_Add(int1,int2); :=intToStr(int_return);end;end. 宿主程序代码 DLL 程序代码 library Magenf_Detail; Important note about DLL memory management: ShareMem must be the first unit in your library's USES clause AND your pr
10、oject's (select Project-View Source) USES clause if your DLL exports any procedures or functions that pass strings as parameters or function results. This applies to all strings passed to and from your DLL-even those that are nested in records and classes. ShareMem is the interface unit to the shared memory manager, which must be deployed along with your DLL. To avoid using , pass string information using PChar or ShortString parameters. usesSysU
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《GBT 14283-2008点焊机器人 通 用技术条件》专题研究报告
- 《GBT 5121.7-2008铜及铜合金化学分析方法 第7部分:砷含量的测定》专题研究报告
- 2026版咨询《决策》章节习题 第六章建设方案与比选
- 2026年九年级语文上册期末试题(附答案)
- 2025-2026年苏课新版八年级英语上册期末考试题库(附含答案)
- 2026年公务员时政考试题库试题解析及答案
- (2026)学校食堂食材采购管理制度(3篇)
- 银行内部控制管理制度
- 市场竞争申请报告(3篇)
- 2026年智能按摩枕项目评估报告
- 2025年郑州工业应用技术学院马克思主义基本原理概论期末考试模拟试卷
- 2025年六年级上册道德与法治期末测试卷附答案(完整版)
- 雨课堂在线学堂《西方哲学-从古希腊哲学到晚近欧陆哲学》单元考核测试答案
- IPC7711C7721C-2017(CN)电子组件的返工修改和维修(完整版)
- 学堂在线 雨课堂 学堂云 研究生学术与职业素养讲座 章节测试答案
- 生理学期中考试试题及答案
- 京张高铁现场观摩会整体策划方案
- 安捷伦1200标准操作规程
- 合伙人合同协议书电子版
- 离婚协议书下载电子版完整离婚协议书下载三篇
- 磨床设备点检表
评论
0/150
提交评论