版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年烟台市芝罘区社区工作者招聘考试模拟试题及答案解析
- 漳州科技职业学院《法律逻辑学补充》2025-2026学年期末试卷
- 泉州职业技术大学《人类学概论》2025-2026学年期末试卷
- 长春中医药大学《电磁学》2025-2026学年期末试卷
- 长春信息技术职业学院《大学生职业与发展》2025-2026学年期末试卷
- 江西农业大学《病理学与病理生理学》2025-2026学年期末试卷
- 芜湖航空职业学院《工程监理》2025-2026学年期末试卷
- 合肥共达职业技术学院《数字经济学》2025-2026学年期末试卷
- 亳州职业技术学院《知识产权法》2025-2026学年期末试卷
- 泉州轻工职业学院《船舶消防》2025-2026学年期末试卷
- 镇江市2026烟草专卖局招聘考试-行测-专业知识题库(含答案)
- 2026年上海对外经贸大学辅导员招聘笔试模拟试题及答案解析
- 南通市医疗机构主要运行指标定期公布工作实施方案
- 四川三江招商集团有限公司2026年3月公开招聘工作人员考试参考试题及答案解析
- 【励志教育】主题班会:《张雪机车夺冠》从山村少年到世界冠军的缔造者【课件】
- AI赋能地理教学的应用实践研究-初中-地理-论文
- 浙江省杭州山海联盟2024-2025学年度七年级英语下册期中试题卷(含答案)
- 湖北省武汉市2026高三下学期3月调研考试化学试题 含答案
- WS 436-2013医院二次供水运行管理
- 全国高中化学奥林匹克竞赛山东省预赛试题
- 晶闸管及其工作原理-课件
评论
0/150
提交评论