做启动窗口,或者做登录窗口。
program Project1;uses
Forms,
Unit1 in 'Unit1.pas' {Form1}; //启动窗口
Unit2 in 'Unit2.pas' {Form2}; //登录窗口
Unit3 in 'Unit3.pas' {Form3}; //主窗口{$R *.RES}begin
Application.Initialize;
Form1 := TForm1.Create(Application);
Form1.Show;
//
做一些事情,如数据库的连接,等等。
//
Form2 := TForm2.Create(Application);
Form2.ShowModal;
Application.CreateForm(TForm3, Form3);
Form1.Free;
Application.Run;
end.
program Project1;uses
Forms,
Unit1 in 'Unit1.pas' {Form1}; //启动窗口
Unit2 in 'Unit2.pas' {Form2}; //登录窗口
Unit3 in 'Unit3.pas' {Form3}; //主窗口{$R *.RES}begin
Application.Initialize;
Form1 := TForm1.Create(Application);
Form1.Show;
//
做一些事情,如数据库的连接,等等。
//
Form2 := TForm2.Create(Application);
Form2.ShowModal;
Application.CreateForm(TForm3, Form3);
Form1.Free;
Application.Run;
end.
Forms,
Windows,
transfm2 in 'transfm2.pas' {MainForm2},
tdata2 in 'tdata2.pas' {DM1: TDataModule};var
pHwnd :Hwnd;{$R *.RES}begin
pHwnd := FindWindow(nil,'MainForm2');
if pHwnd <> 0 then exit;
Application.Initialize;
Application.CreateForm(TDM1, DM1);
Application.CreateForm(TMainForm2, MainForm2);
Application.Run;
end.
此段代码用来保证可执行文件只能起来一次。
Forms,
Unit1 in 'Unit1.pas' {Form1};{$R *.RES}procedure initUnit();
var h:HWND;
begin
h := FindWindow(nil,'Borland Socket Server');
if h=0 then
ShellExecute(0, nil, 'scktsrvr.exe', nil, nil, 1);
end;begin
initUnit(); //象这样~~~~~~~~~~~
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.