有一个Form14窗口,这个Form14窗口是要根据注册表的中值来决定先显示这个Form14窗口,还是先运行frmMain程序,为什么像下面这样写不行了,请指教,谢谢!
program demo;
uses
Forms,Registry,
MainForm in 'MainForm.pas' {frmMain},
AppUnit in 'AppUnit.pas',
Unit1 in 'Unit1.pas' {Form1},
Unit2 in 'Unit2.pas' {Form2},
Unit4 in 'Unit4.pas' {Form4},
Unit3 in 'Unit3.pas' {Form3},
Unit5 in 'Unit5.pas' {Form5},
Unit6 in 'Unit6.pas' {Form6},
Unit7 in 'Unit7.pas' {Form7},
Unit8 in 'Unit8.pas' {Form8},
Unit9 in 'Unit9.pas' {Form9},
Unit10 in 'Unit10.pas' {Form10},
Unit11 in 'Unit11.pas' {Form11},
Unit12 in 'Unit12.pas' {Form12},
Unit13 in 'Unit13.pas' {Form13},
Unit14 in 'Unit14.pas' {Form14};
{$R *.res}
{$R myres.res}
var
Reg:Registry;
RegeditID:string;
begin
Application.Initialize;
Application.Title := '测试';
Reg:=TRegistry.Create;
Reg.RootKey:=HKEY_LOCAL_MACHINE;
if Reg.OpenKey('\Software\D\time',False) then
begin
RegeditID:=Reg.ReadString('bz');
Reg.CloseKey;
if RegeditID=0 then
begin
Application.CreateForm(TfrmMain, frmMain);
Application.CreateForm(TForm1, Form1);
Application.CreateForm(TForm2, Form2);
Application.CreateForm(TForm4, Form4);
Application.CreateForm(TForm3, Form3);
Application.CreateForm(TForm5, Form5);
Application.CreateForm(TForm6, Form6);
Application.CreateForm(TForm7, Form7);
Application.CreateForm(TForm8, Form8);
Application.CreateForm(TForm9, Form9);
Application.CreateForm(TForm10, Form10);
Application.CreateForm(TForm13, Form13);
form10.Hide;
form10.Enabled:=false;
Application.CreateForm(TForm11, Form11);
Application.CreateForm(TForm12, Form12);
end;
if RegeditID=1 then
begin
Application.CreateForm(TForm14, Form14);
end;
end;
Reg.Free;
Application.Run;
end.
program demo;
uses
Forms,Registry,
MainForm in 'MainForm.pas' {frmMain},
AppUnit in 'AppUnit.pas',
Unit1 in 'Unit1.pas' {Form1},
Unit2 in 'Unit2.pas' {Form2},
Unit4 in 'Unit4.pas' {Form4},
Unit3 in 'Unit3.pas' {Form3},
Unit5 in 'Unit5.pas' {Form5},
Unit6 in 'Unit6.pas' {Form6},
Unit7 in 'Unit7.pas' {Form7},
Unit8 in 'Unit8.pas' {Form8},
Unit9 in 'Unit9.pas' {Form9},
Unit10 in 'Unit10.pas' {Form10},
Unit11 in 'Unit11.pas' {Form11},
Unit12 in 'Unit12.pas' {Form12},
Unit13 in 'Unit13.pas' {Form13},
Unit14 in 'Unit14.pas' {Form14};
{$R *.res}
{$R myres.res}
var
Reg:Registry;
RegeditID:string;
begin
Application.Initialize;
Application.Title := '测试';
Reg:=TRegistry.Create;
Reg.RootKey:=HKEY_LOCAL_MACHINE;
if Reg.OpenKey('\Software\D\time',False) then
begin
RegeditID:=Reg.ReadString('bz');
Reg.CloseKey;
if RegeditID=0 then
begin
Application.CreateForm(TfrmMain, frmMain);
Application.CreateForm(TForm1, Form1);
Application.CreateForm(TForm2, Form2);
Application.CreateForm(TForm4, Form4);
Application.CreateForm(TForm3, Form3);
Application.CreateForm(TForm5, Form5);
Application.CreateForm(TForm6, Form6);
Application.CreateForm(TForm7, Form7);
Application.CreateForm(TForm8, Form8);
Application.CreateForm(TForm9, Form9);
Application.CreateForm(TForm10, Form10);
Application.CreateForm(TForm13, Form13);
form10.Hide;
form10.Enabled:=false;
Application.CreateForm(TForm11, Form11);
Application.CreateForm(TForm12, Form12);
end;
if RegeditID=1 then
begin
Application.CreateForm(TForm14, Form14);
end;
end;
Reg.Free;
Application.Run;
end.
说没有定义,var
Reg:Registry;
RegeditID:string;
已改成var
Reg:TRegistry;
RegeditID:string; 为什么在别的地方这样写可以的,在这里不行呢
2.不是不能声明变量,是因为你的HKEY_LOCAL_MACHINE这个要引用WIndows单元