delphi dll调用问题 delphi 调用dll 是要先创建 XXX.dll 文件吗:?再来调用dll 函数吗?.[ 请教 delphi 如何调用dll (最好简单实例说明) 谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 1 如果是COM之类的,则注册以后,用类似于createoleobject样的功能直接调用2 如果是标准的C格式的DLL,调用方式类似于VB之类的,采用动态或静态的方式调用,3 如果是Delphi写的使用了delphi特有数据类型的,则在2的基础上一般需要在PATH里放一份bndMM.dll样的文件 调用dll,当然要有dll文件才行,1楼已经介绍了,这里举例在D中建立1个简单的dll文件,并调用1. file->new->other->new->dll wizard2. 参照下面这样写上一个函数TestDlllibrary Project1;{这中间是注释,去掉了}uses SysUtils, Classes;{$R *.res}{函数功能:计算传入值的平方并返回结果}function TestDll(k:Integer):integer;stdcall;begin result:=sqr(k);end;exports TestDll;beginend.3.保存后,按Project->Build Project1,就会在你保存的位置产生一个Project1.dll文件了4.下面是在D中调用Project1.dll文件中TestDll函数5.新建一个工程,放一个Button按扭,最终代码像下面这样{...}var Form1: TForm1;implementationfunction TestDll(k:Integer):integer;stdcall; external 'Project1.dll';{如果Project1.dll不同路径,也不在系统目录,要加上路径,如C:\Project1.dll}{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);begin ShowMessage(IntToStr(TestDll(100)));end;6.运行,点击Button1看看效果.更详细的介绍,更复杂的功能,楼主自己搜索相关资料吧!!! 楼上描述调用太全了补充Dll的调试。在开发环境中,右键选择Dll--》options--》Debugger--》Host application输入调用的exe地址,记得好像只能是绝对路径(含文件名)。这样就可以断点调试Dll文件了。会经常用到的。 入门的资料多,深入要自己摸索,在开发环境中,右键选择Dll--》options--》Debugger--》Host application记得在运行、调试的那个菜单下的RUN PARAMETER也可以设置的哦,呵呵 加载dll的问题 。。。。。。。。。。。。 简单问题,急,解决了就给分 请问这个函数有没有问题呀?怎么我最后执行完总是得不到想要的结果? 如何判断一个整型变量是否为空? 如何得到listview中各个item中的colunmn的值 小小问题,那个大哥帮帮小弟,马上给分 在delphi中chr(8),chr(12)是什么意思??? 随机选数问题(得解就给分) 紧急求助!!:关于报表的表达式问题 一个关于ADOTABLE控件的一个问题,等着大家来救命! delphi2010无法安装 求一个多线程简单的例子
2 如果是标准的C格式的DLL,调用方式类似于VB之类的,采用动态或静态的方式调用,
3 如果是Delphi写的使用了delphi特有数据类型的,则在2的基础上一般需要在PATH里放一份bndMM.dll样的文件
1. file->new->other->new->dll wizard
2. 参照下面这样写上一个函数TestDlllibrary Project1;
{这中间是注释,去掉了}
uses
SysUtils,
Classes;{$R *.res}{函数功能:计算传入值的平方并返回结果}
function TestDll(k:Integer):integer;stdcall;
begin
result:=sqr(k);
end;exports
TestDll;begin
end.3.保存后,按Project->Build Project1,就会在你保存的位置产生一个Project1.dll文件了4.下面是在D中调用Project1.dll文件中TestDll函数5.新建一个工程,放一个Button按扭,最终代码像下面这样{...}var
Form1: TForm1;implementationfunction TestDll(k:Integer):integer;stdcall; external 'Project1.dll';
{如果Project1.dll不同路径,也不在系统目录,要加上路径,如C:\Project1.dll}{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage(IntToStr(TestDll(100)));
end;6.运行,点击Button1看看效果.更详细的介绍,更复杂的功能,楼主自己搜索相关资料吧!!!
在开发环境中,右键选择Dll--》options--》Debugger--》Host application
输入调用的exe地址,记得好像只能是绝对路径(含文件名)。
这样就可以断点调试Dll文件了。
会经常用到的。
记得在运行、调试的那个菜单下的RUN PARAMETER也可以设置的哦,呵呵