启动窗体的问题?请帮忙(30分)

  • 主题发起人 主题发起人 sxwy
  • 开始时间 开始时间
S

sxwy

Unregistered / Unconfirmed
GUEST, unregistred user!
一个程序,就一个窗体,现在想让它在启动的时候就不可见,怎么在CREATE或者SHOW过程里将其设为HIDE会报错,应该怎么办呢?
 
在Program部分添加如下代码:
Application.ShowMainForm := False;
也就是将Program改成:
program Project1;

uses
Forms,
Unit1 in 'Unit1.pas' {Form1};

{$R *.res}

begin
Application.Initialize;
Application.ShowMainForm := False;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.
 
惨啦,我的窗体是在dll里呀.我想在调用的时侯就不显示出来.将它设为了隐藏,然后将工作完成,再将结果返回给用户看;
 
to Johnny_du,有办法吗.
 
既然是做成dll那么干什么还要引用窗体呢?直接用pas文件就可以了啊!
 
ShowWindow(form1.Handle, SW_hide);
 
既然不想让用户看就不需要使用窗体啊
如果你希望工作完成再将结果用窗体给用户
就将实现和界面分离
var
ShowForm: TShowForm;
begin
//你的工作代码
//工作完成后...
ShowForm := TShowForm.Create(nil);
try
ShowForm.ShowModal;
finally
ShowForm.Free;
end;
end;
 
本来是做了一个DLL给用户调用,用户在传入参数后,将会有一个窗体出现,用户在这个窗体编缉后有结果返回给用户.这是调用DLL并显示窗体的过程;
现在想加以下功能:
一些功能还是想用DLL来完成,过程不是由用户编缉而是由程序完成,也就是说传入一些参数后,不显示DLL里的窗体,但要CREATE窗体,这样才可以用到DLL里窗体的功能,然后由窗体在后台接收传入的参数并运行,最后也有结果返回到一个文件,我想这样做,不知能不能做到;
 
不太明白你的意思

不过总是有办法解决的.

你说你的工程只有一个窗体. 而这个窗体又在 DLL 中.

那你的工程里到底有没有窗体???
 
ShowWindow(form1.Handle, SW_hide); 足够了
 
TO:QSmile 是我说错了,应该是我的DLL里就一个窗体;
谢谢各位的热心帮忙............大富翁就是好....我再试试看
 
多人接受答案了。
 
后退
顶部