创建了一个主窗口form1,其中它的 formstyle 为 fsmidform,我要创建一个登陆窗口form2,我将其formstyle设置为fsmidchild,然后我在project栏的options中将auto-create forms下面的登陆窗口form2移动到右边的available forms下面.
在系统登陆按纽下,我用了语句
application.application.CreateForm(Tform2,form2);
form2.show;
在运行测试的时候为什么报错:[Error] main.pas(41): Undeclared identifier: 'Tform2'?
这个错误应该不是语句写错了吧?是否在上面的设置中出现了什么问题?
敬请高手们指点一二,学生感激不尽.
在系统登陆按纽下,我用了语句
application.application.CreateForm(Tform2,form2);
form2.show;
在运行测试的时候为什么报错:[Error] main.pas(41): Undeclared identifier: 'Tform2'?
这个错误应该不是语句写错了吧?是否在上面的设置中出现了什么问题?
敬请高手们指点一二,学生感激不尽.
form2.show;
Application.Initialize;
Flogin:=TFlogin.Create(application);
flogin.ShowModal;
flogin.Update;
if not flogin.ok then
application.Terminate
else begin
Application.CreateForm(TFmain, Fmain);
Application.CreateForm(TFdm, Fdm);
Application.CreateForm(TFlogin, Flogin);
Application.Run;
end;
登陆窗口代码是这样的,也同样给你,不过注意给分呀
unit login;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, bsSkinBoxCtrls, bsSkinCtrls, bsSkinData,
BusinessSkinForm, DB, DBTables;type
TFlogin = class(TForm)
bsSkinButton1: TbsSkinButton;
bsSkinButton2: TbsSkinButton;
bsSkinLabel1: TbsSkinLabel;
bsSkinLabel2: TbsSkinLabel;
bsSkinPasswordEdit1: TbsSkinPasswordEdit;
bsSkinComboBox1: TbsSkinComboBox;
bsSkinData1: TbsSkinData;
bsCompressedStoredSkin1: TbsCompressedStoredSkin;
bsBusinessSkinForm1: TbsBusinessSkinForm;
Table1: TTable;
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure bsSkinButton1Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure bsSkinButton2Click(Sender: TObject);
procedure bsSkinPasswordEdit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
private
{ Private declarations }
public
{ Public declarations }
ok:boolean;
end;var
Flogin: TFlogin;implementation{$R *.dfm}
uses
dm;
procedure TFlogin.FormCreate(Sender: TObject);
begin
ok:=false;
end;procedure TFlogin.FormClose(Sender: TObject; var Action: TCloseAction);
begin
if not ok then
application.Terminate;
end;procedure TFlogin.bsSkinButton1Click(Sender: TObject);
begin
table1.Open;
if table1.Locate('user',self.bsSkinComboBox1.Text,[]) then
begin
if self.Table1.FieldValues['Pasword']=self.bsSkinPasswordEdit1.Text then
begin
ok:=true;
self.Close;
end else
showmessage('密码错误!');
end else
begin
showmessage('非法用户!');
end;
end;procedure TFlogin.FormShow(Sender: TObject);
var
i:integer;
begin
self.Table1.Open;
self.Table1.First;
self.bsSkinComboBox1.Items.Clear;
for i:=0 to table1.RecordCount-1 do
begin
self.bsSkinComboBox1.Items.Add(self.Table1.FieldValues['User']);
self.Table1.Next;
end;
self.bsSkinComboBox1.ItemIndex:=0;
self.Table1.Close;
self.bsskinpasswordedit1.SetFocus;
end;procedure TFlogin.bsSkinButton2Click(Sender: TObject);
begin
self.close;
end;procedure TFlogin.bsSkinPasswordEdit1KeyDown(Sender: TObject;
var Key: Word; Shift: TShiftState);
begin
if key=13 then
self.bsSkinButton1Click(self);
end;end.