本人刚学不久,怎么写带窗体的DLL,启动D7默认是创建form1,新建DLL时form就退出了,应该怎么做?
动态调用DLL内的函数,过程,类,应该怎么做?函数等等放在DLL的哪儿?form要怎么声明,在哪儿声明。
望高手帮忙,谢谢!最好能写个能通过的代码+注释。谢谢
整篇复制的省省吧
delphi7制作带窗体的DLL
答案:2 悬赏:80 手机版
解决时间 2021-02-13 22:45
- 提问者网友:鼻尖触碰
- 2021-02-13 12:29
最佳答案
- 五星知识达人网友:迟山
- 2021-02-13 12:47
在DLL 中,除了放置标准的函数和过程以外,也可以放置已经做好的的delphi窗体,也可以把做好的窗体供其它程序使用,方法是:
1)首先按普通方法制作窗体,不过在interface区域,对接口函数做如下声明
function Createform(capt:string):string;stdcall;
2)在implementation下加入接口函数
function Createform(capt:string):string;stdcall;
var Form1: TForm1;
begin
form1:=Tform1.Create(application);
form1.show;
form1.caption:=capt;
end;
3)制作DLL 动态连接库,但要声明:
uses
unit1 in ’unit1.pas’;
exports
{写入接口标示符}
Createform name ’Myform’;
4)调用窗体的程序按普通方法制作,但是 在implementation下首先声明要调用的DLL函数 ,
const :
gdi32=’myFormdll.dll’;
function Createform(capt:string):string;stdcall;external gdi32 name ’Myform’;
procedure TForm3.Button1Click(Sender: TObject);
var n,m:string;
begin
m:=’我的窗体’;
Createform(m);var n,m:string;
end;
1)首先按普通方法制作窗体,不过在interface区域,对接口函数做如下声明
function Createform(capt:string):string;stdcall;
2)在implementation下加入接口函数
function Createform(capt:string):string;stdcall;
var Form1: TForm1;
begin
form1:=Tform1.Create(application);
form1.show;
form1.caption:=capt;
end;
3)制作DLL 动态连接库,但要声明:
uses
unit1 in ’unit1.pas’;
exports
{写入接口标示符}
Createform name ’Myform’;
4)调用窗体的程序按普通方法制作,但是 在implementation下首先声明要调用的DLL函数 ,
const :
gdi32=’myFormdll.dll’;
function Createform(capt:string):string;stdcall;external gdi32 name ’Myform’;
procedure TForm3.Button1Click(Sender: TObject);
var n,m:string;
begin
m:=’我的窗体’;
Createform(m);var n,m:string;
end;
全部回答
- 1楼网友:梦中风几里
- 2021-02-13 12:53
form1.printscale:=poprinttofit;
form1.print;
是可以打印出来的啊,
你这样试下:
在use里加入clipbrd
procedure tform1.button1click(sender: tobject);
var
formimage: tbitmap;
myimage:timage;
begin
formimage := getformimage;
myimage:= timage.create(nil);
try
clipboard.assign(formimage);
myimage.picture.assign(clipboard);
myimage.picture.savetofile('d:/xxx.bmp');
finally
begin
myimage.free;
formimage.free;
end;
end;
end;
看看产生的xxx.bmp就知道了,如果xxx.bmp没问题建议看看是不是打印机的问题
窗体名直接 .print只能打印能看见的部分,如果窗体有滚动条,直接看不见那部分是打不出来的
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯