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 拷到目标目录上了。
可还是不行?求求了。 展开
如何调用以上dll函数?请给以指教!!!
我把打印名改过了,用了怎么还是不行啊,请指教?
ZQPntCtrl.dll 是打印机厂家发给我的打印链接库文件。
Function OpenPrinter(pPrinterName:pchar): boolean;export;stdcall;external 'ZQPntCtrl.dll' name 'OpenPrinter';是厂家给我的接口函数。
怎么调用呢?
OpenPrinter(PChar('参数'));中的参数应是什么?
我已把ZQPntCtrl.dll 拷到目标目录上了。
可还是不行?求求了。 展开
展开全部
静态调用:
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.
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.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
首先声明函数
就是你写的这样
Function OpenPrinter(pPrinterName:pchar): boolean;export;stdcall;external 'ZQPntCtrl.dll' name 'OpenPrinter';
然后使用
OpenPrinter(PChar('参数'));
注意 ZQPntCtrl.dll 一定要和exe 一起带上.
就是你写的这样
Function OpenPrinter(pPrinterName:pchar): boolean;export;stdcall;external 'ZQPntCtrl.dll' name 'OpenPrinter';
然后使用
OpenPrinter(PChar('参数'));
注意 ZQPntCtrl.dll 一定要和exe 一起带上.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
OpenPrinter(Pchar('打印机名')):
打印机名改成你的就行了
打印机名就是电脑生成的打印机名呀,在控制面板---打印机中有显示呀
打印机名改成你的就行了
打印机名就是电脑生成的打印机名呀,在控制面板---打印机中有显示呀
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Tdumpbin.exe和VC的dumpbin.exe可以得到DLL的导出函数。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询