お久しぶりでございます。
ITservice雄飛です。
今回は、表題の通りです。
先ず、実行できなかった環境の前提条件として。
Lazarusには、コピーに関するライブラリが用意されていないので、OSの機能を使います。
今回の端末は、Windows機ですので、WinAPIになります。
UsesにWindowsを追加して使う、アレですね。
CopyFileコマンドになります。
詳しい原因は不明ですが、ネットワークドライブへは、こちらからはコピーできませんでした、一つも。
かといって、それで諦めてもしょうがない。
試しに、BATからコピーすると、コピーはきちんと成功します。
どうやら、CopyFileはネットワークドライブへのコピーは対応していないっぽい。
とにかく、コピーさえできれば良くて、方法は問いません。
逆転の発想。
じゃぁ、BAT呼び出しちゃえばいいじゃん。
Copy [コピー元ファイル名(念の為フルパス)] [コピー先フォルダ名+コピー先ファイル名]
で、StringListやら何やらに、コピーする枚数分書き出していって、それを、ファイルに保存します。
勿論、BAT形式(拡張子.bat)で。
後は、ShellExecute関数を使って、Batファイルをプログラムから呼び出します。
BAT呼び出すときに出る、黒い画面が嫌な場合は、
引数を、SW_SHOWからSW_HIDEに変えて、Window非表示にすればOK。
これで、ネットワークフォルダへのコピーは完了しました。
以上。