こんにちは。
いつも参考にさせていただいております。
現在、Excelのファイル出力の処理を行っております。
ファイルはまず雛型のファイルをコピーして作成しています。
処理自体は、下記で問題なく行えます。
ただ、出来れば下記のモジュールを他のAPと共有したい為、
別のUnitに移動させたいなと思うのですが、
移動させると、
「'HWND'と'String'には互換性がありません」
「'String'と'HWND'には互換性がありません」
というコンパイルエラーが発生してしまいます。
移動させたいが為にHandleも引数に持ってみたのですが・・・
このような事の実現は無理なのでしょうか?
何か情報をお持ちの方、ご教授下さいませ。
Delphi7を使っています。
:
if funcFileCopy(gsScheltonPath, sOutputPath, Handle) = false then
begin
exit;
end;
:
function TForm1.funcFileCopy(psFromPath: string; psToPath: string; phHandle:HWND): boolean;
var
sFileName : string;
foStruct : TSHFileOpStruct;
begin
result := false;
with foStruct do
begin
wnd := phHandle;
wFunc := FO_COPY;
pFrom := PChar(psFromPath + #0);
pTo := PAnsiChar(psToPath);
fFlags := FOF_FILESONLY or FOF_ALLOWUNDO or FOF_NOCONFIRMATION;
fAnyOperationsAborted := False;
hNameMappings := nil;
lpszProgressTitle := nil;
end;
if (SHFileOperation(foStruct) <> 0) or (foStruct.fAnyOperationsAborted) then
begin
exit;
end;
result := true;
end;
funcFileCopy関数の先頭に"TForm1."が付いていたので気になったのですが、funcFileCopyという関数を別のユニットにするのであれば、そのユニットは...
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ShellApi;
function funcFileCopy(psFromPath: string; psToPath: string; phHandle:HWND): Boolean;
implementation
function funcFileCopy(psFromPath: string; psToPath: string; phHandle:HWND): Boolean;
begin
<中身省略>
end;
end.
という感じになりますよね。
masayanさん、いつもありがとうございます。
そうですよね。
おっしゃる通りにして何度試しても駄目だったのですが・・・
今一度チャレンジしてみたら・・・
上手く行きました・・・
すみません。お騒がせしました・・・
きっとお聞きしたから上手くいったのです
ありがとう御座いました。
ツイート | ![]() |