一个filecopy函数,错误提示:[Error] wh_unit.pas(29): Unsatisfied forward or external declaration: 'Twh_form.FileCopy'
procedure Button1Click(Sender: TObject);
procedure FileCopy(const FromFile, ToFile: string);/错误提示在这一行
................................
procedure FileCopy(const FromFile, ToFile: string);
Var
S, T: TFileStream;
Begin
S := TFileStream.Create( FromFile, fmOpenRead );
try
T := TFileStream.Create( ToFile,fmOpenWrite or fmCreate );
try
T.CopyFrom(S, S.Size ) ;
finally
T.Free;
end;
finally
S.Free;
end;
不知道错误在哪里,请指教!

解决方案 »

  1.   

    procedure FileCopy(const FromFile, ToFile: string);forward;//<-在这里加
    ................................
    procedure FileCopy(const FromFile, ToFile: string);
    Var
    S, T: TFileStream;
    Begin
    S := TFileStream.Create( FromFile, fmOpenRead );
    try
    T := TFileStream.Create( ToFile,fmOpenWrite or fmCreate );
    try
    T.CopyFrom(S, S.Size ) ;
    finally
    T.Free;
    end;
    finally
    S.Free;
    end;
      

  2.   

    procedure FileCopy(const FromFile, ToFile: string);/错误提示在这一行
    先去掉这一行试试
      

  3.   

    加forward问题依旧,去掉procedure FileCopy(const FromFile, ToFile: string);这一行就可以,想不通,不是要申明过程吗?
      

  4.   

    procedure FileCopy(const FromFile, ToFile: string);//错误提示在这一行
    改成:
    procedure FileCopy(FromFile, ToFile: string);  聲明另可用以下方法如:後台:
    use master
    EXEC xp_cmdshell 'copy c:\sqldumps\pubs.dmp \\server2\backups\sqldumps', 
       NO_OUTPUT前台:
      WinExec('cmd /c copy c:\sqldumps\pubs.dmp \\server2\backups\sqldumps',SW_HIDE);
      

  5.   

    我用procedure FileCopy(FromFile, ToFile: string);  聲明
    调用时
    if dfPath[Length(dfPath)] <> '\' then dfPath := dfPath + '\';
     FileCopy((trim(edit1.Text),(dfpath+'jzgdagl.mdb'));/这行出错
     
    错误提示[Error] ): Unsatisfied forward or external declaration: 'Twh_form.FileCopy'
      expected but ',' found
      

  6.   

    呵呵,想不到这么简单的问题让我给碰上了。
    procedure FileCopy(const FromFile, ToFile: string);/错误提示在这一行
    出错是理所当然的,FileCopy这个过程是你自己定义的,不属于 Twh_form 这个类,强制写进类里面肯定错。
      

  7.   

    还想请你试试,不注释掉声明的部分,而在实现的里面改:
    procedure FileCopy(const FromFile, ToFile: string);----->>>>>>>>
    procedure Twh_form.FileCopy(const FromFile, ToFile: string);不知道这样行不,我没试。
      

  8.   

    请将在Twh_form中声明的FileCopy移到类的外面声明。
    如原来是这样:
    *******************************************
    unit testinterface....type   Twh_form = class(TForm)
       ....
       public
         ....
         procedure FileCopy(const FromFile, ToFile: string);
         ....   end;
    ...implementationprocedure FileCopy(const FromFile, ToFile: string);
    Var
    S, T: TFileStream;
    Begin
    ....
    ....
    end;那就改成这样:
    *******************************************
    unit testinterface....type   Twh_form = class(TForm)
       ....
       public
         ....
         ....
       end;   procedure FileCopy(const FromFile, ToFile: string);//<--把这句移出来
    ...implementationprocedure FileCopy(const FromFile, ToFile: string);
    Var
    S, T: TFileStream;
    Begin
    ....
    ....
    end;