delphi如何调用dll函数

FunctionOpenPrinter(pPrinterName:pchar):boolean;export;stdcall;external'ZQPntCtrl.dll... Function OpenPrinter(pPrinterName:pchar): boolean;export;stdcall;external 'ZQPntCtrl.dll' name 'OpenPrinter';
如何调用以上dll函数?请给以指教!!!
我把打印名改过了,用了怎么还是不行啊,请指教?
ZQPntCtrl.dll 是打印机厂家发给我的打印链接库文件。
Function OpenPrinter(pPrinterName:pchar): boolean;export;stdcall;external 'ZQPntCtrl.dll' name 'OpenPrinter';是厂家给我的接口函数。
怎么调用呢?
OpenPrinter(PChar('参数'));中的参数应是什么?
我已把ZQPntCtrl.dll 拷到目标目录上了。
可还是不行?求求了。
展开
 我来答
N_0_1
高粉答主

2015-10-27 · 关注我不会让你失望
知道大有可为答主
回答量:8628
采纳率:47%
帮助的人:818万
展开全部
静态调用:
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
procedure showform;External 'Project1.dll';{静态调用}
implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
showform;
end;

end

动态调用:
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
Sabout:THandle;
ShowA:procedure;
begin
Sabout := LoadLibrary('Project1.dll');
if Sabout=0 then begin
Application.MessageBox('动态连接库Project1.dll文件不存在!','错误',64);
exit;
end;
ShowA := GetProcAddress(Sabout,'showform');
showA;
FreeLibrary(Sabout);
end;

end.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
TheFiend
2009-08-10 · TA获得超过625个赞
知道大有可为答主
回答量:1346
采纳率:0%
帮助的人:1211万
展开全部
首先声明函数
就是你写的这样
Function OpenPrinter(pPrinterName:pchar): boolean;export;stdcall;external 'ZQPntCtrl.dll' name 'OpenPrinter';
然后使用
OpenPrinter(PChar('参数'));
注意 ZQPntCtrl.dll 一定要和exe 一起带上.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
龙宇防盗监控
推荐于2016-02-26 · TA获得超过330个赞
知道小有建树答主
回答量:1026
采纳率:0%
帮助的人:751万
展开全部
OpenPrinter(Pchar('打印机名')):

打印机名改成你的就行了
打印机名就是电脑生成的打印机名呀,在控制面板---打印机中有显示呀
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
姒学泣代双
2019-07-03 · TA获得超过3713个赞
知道小有建树答主
回答量:3132
采纳率:30%
帮助的人:185万
展开全部
Tdumpbin.exe和VC的dumpbin.exe可以得到DLL的导出函数。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式