我写了一个过程:
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一样报错, 为生么?谢谢。

解决方案 »

  1.   

    procedure Read_INIFiles();
    改为
    procedure TForm1.Read_INIFiles();
    要加上你的类名
      

  2.   

    private
        { Private declarations }
        procedure Read_INIFiles();
    ...
    procedure 类名.Read_INIFiles();
    var
    ...
      

  3.   

    我想你还是先找一些面向对象程序设计的书看一下吧。
    你这个声明是不是声明在类外面,成了全局的啊??
    private
        { Private declarations }
        procedure Read_INIFiles;  ,<-错在这里,[Error] T_set.pas(31): Unsatisfied forward or external declaration: 'TTM_Set.Read_INIFiles'应该在类里面声明,就是在TTM_Set类里面。
      

  4.   

    先在private下写好过程名字,然后按ctrl+shift+c会自动形成模式的。
    另外若有变量,记得要把过程声明写在变量下面。