永发信息网

delphi7制作带窗体的DLL

答案:2  悬赏:80  手机版
解决时间 2021-02-13 22:45
本人刚学不久,怎么写带窗体的DLL,启动D7默认是创建form1,新建DLL时form就退出了,应该怎么做?
动态调用DLL内的函数,过程,类,应该怎么做?函数等等放在DLL的哪儿?form要怎么声明,在哪儿声明。
望高手帮忙,谢谢!最好能写个能通过的代码+注释。谢谢

整篇复制的省省吧
最佳答案
在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;
全部回答
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只能打印能看见的部分,如果窗体有滚动条,直接看不见那部分是打不出来的
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
来邦家政(上海徐汇区)地址有知道的么?有点事
【英语字母发音】英语字母中含有e的字母发音
急求:泸州儿童福利院地址与电话
优悦家政(上海浦东新区成山路1292)地址在什么
法治在我心中手抄报,看的清楚字,最简单的,只
地质灾害点是国家哪个部门监管,如何预防山体
以诚待人和气生财 求下联?
月珠国际家政(上海徐汇区沪闵路9218)地址好找
打饭时后面有几个妹子说我比她高,比她瘦,还有
暧暧远人村,依依墟里烟。“暧暧”在句中是什
已婚女人对另一个男人砰然心动是动情了吗
懒人家政(上海浦东新区张杨路628弄1号东明广
汽车两边的倒车镜能进水吗?
顺鑫家政(上海宝山区菊太路1198弄28-4)怎么去
迈腾油底壳周围轻微渗油,有没有好心的车友帮
推荐资讯
长葛农商银行24小时自助银行服务地址好找么,
【星系】到目前为止已经被人类发现的星系有多
6档手自一体,这个问题有什么好的解决方案?
NO2为什被称为混合酸酐?2NO2+H2O=HNO2+HNO3紧
2007年捷达跑12万公里卖多少钱
圈养什么意思
西单元是不是朝西?
心碎用韩语怎么说
我14岁169算正常吗
世纪新村-南门地址在什么地方,想过去办事
老街坊美食在什么地方啊,我要过去处理事情
天来皮行这个地址在什么地方,我要处理点事
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?