我写了一个过程:
procedure Read_INIFiles();
var
inifile:Tinifile;
begin
//打开INI文件,在本地目录
inifile:=tinifile.Create(ExtractFilePath(Application.ExeName)+'\database.ini');
if fileexists(ExtractFilePath(Application.ExeName)+'\database.ini')=true then
begin
TM_Set.Edit1.text:=inifile.ReadString('DBconfig','DataBaseName',TM_Set.edit1.text);
TM_Set.edit2.Text:=inifile.ReadString('DBconfig','ServerName',TM_Set.edit2.text);
TM_Set.edit3.Text:=inifile.ReadString('DBconfig','UserName',TM_Set.edit3.text);
TM_Set.edit4.Text:=inifile.ReadString('DBconfig','UserPass',TM_Set.edit4.text);
inifile.Free;
end;
end;然后在窗体下声明:
private
{ Private declarations }
procedure Read_INIFiles; ,<-错在这里,[Error] T_set.pas(31): Unsatisfied forward or external declaration: 'TTM_Set.Read_INIFiles'
请大侠帮忙看看,我刚自学delphi,对DELPHI严谨的语法比较难以适应(以前习惯用VB),顺便请大侠们多谈谈学习方法。谢谢。
另外,在过程中,如果我用Edit1.text而不用TM_Set.Edit1.text一样报错, 为生么?谢谢。
procedure Read_INIFiles();
var
inifile:Tinifile;
begin
//打开INI文件,在本地目录
inifile:=tinifile.Create(ExtractFilePath(Application.ExeName)+'\database.ini');
if fileexists(ExtractFilePath(Application.ExeName)+'\database.ini')=true then
begin
TM_Set.Edit1.text:=inifile.ReadString('DBconfig','DataBaseName',TM_Set.edit1.text);
TM_Set.edit2.Text:=inifile.ReadString('DBconfig','ServerName',TM_Set.edit2.text);
TM_Set.edit3.Text:=inifile.ReadString('DBconfig','UserName',TM_Set.edit3.text);
TM_Set.edit4.Text:=inifile.ReadString('DBconfig','UserPass',TM_Set.edit4.text);
inifile.Free;
end;
end;然后在窗体下声明:
private
{ Private declarations }
procedure Read_INIFiles; ,<-错在这里,[Error] T_set.pas(31): Unsatisfied forward or external declaration: 'TTM_Set.Read_INIFiles'
请大侠帮忙看看,我刚自学delphi,对DELPHI严谨的语法比较难以适应(以前习惯用VB),顺便请大侠们多谈谈学习方法。谢谢。
另外,在过程中,如果我用Edit1.text而不用TM_Set.Edit1.text一样报错, 为生么?谢谢。
改为
procedure TForm1.Read_INIFiles();
要加上你的类名
{ Private declarations }
procedure Read_INIFiles();
...
procedure 类名.Read_INIFiles();
var
...
你这个声明是不是声明在类外面,成了全局的啊??
private
{ Private declarations }
procedure Read_INIFiles; ,<-错在这里,[Error] T_set.pas(31): Unsatisfied forward or external declaration: 'TTM_Set.Read_INIFiles'应该在类里面声明,就是在TTM_Set类里面。
另外若有变量,记得要把过程声明写在变量下面。