ファイルをコピーしたいのですが、うまくいきません。

解決


Lazarus始めました  2022-02-11 02:12:53  No: 150058  IP: 192.*.*.*

お世話になります。
ファイルをコピーしたいのですが、うまくいきません。
コピーするだけなら、CopyFile(PChar(tmp_file2),PChar(tmp_file1),false); でコンパイルが通るのですが、この関数を使うためにuse節にWindowsを追加し、次のプログラムを入れると、別の部分で
「Error:Incompatible type for arg no Got "TRawbyteSearchRec",expected "QWord"」と表示されます。

//別の部分
ret:=FindFirst(file_path_ini + gfile_path_tmp+search_pat,0,f);
    while(ret=0)do
    begin
      CheckListBox1.Items.Add(f.Name);
      ret:=FindNext(f);
    end;
    FindClose(f);     <<<ここでエラー


(use節にWindowsを追加しないときは次の部分は正常にコンパイルされますが、CopyFileが正常にコンパイルできません。Identifier not found "CopyFile"と表示されます。)
TFile.Copy(PChar(tmp_file2),PChar(tmp_file1),false);を使ってもうまくいかないです。

プログラムを作る方法(https://wiki.freepascal.org/CopyFile)もあるようですが、関数1行のみで済ませることはできませんか?

編集 削除
igy  2022-02-11 04:11:52  No: 150059  IP: 192.*.*.*

> FindClose(f);     <<<ここでエラー

SysUtils.FindClose(f);
では、どうですか?

編集 削除
Lazarus始めました  2022-02-11 04:50:07  No: 150060  IP: 192.*.*.*

igyさん、ありがとうございます。
コンパイルもとおり動作させることが出来ました。

編集 削除