ビタミンです。また質問させて頂きます。
shellexecuteを利用してネットワークフォルダを開こうとしています。
ネットワークに接続しているときはすんなりとOpenできるのですが、、
接続していないとハングアップしてしまいます。。。
エラー処理を施すにはどうしたらいいのでしょうか?
おんぷむらさんのstdFilesモジュールを利用する方法がよいのでしょうか?
//================================================================================ここからソースです
procedure TForm1.Button11Click(Sender: TObject);
var
TMP:pchar;
URL:string;
begin
URL:='\\kyouyuu-serv\test\test2\';
TMP:=pchar(URL);
ShellExecute(Handle, 'open', abc, nil, nil, SW_SHOW)
end;
end.
//================================================================================ここまで
以上宜しくお願いします。
pingを発行して、反応があったらフォルダを開くとかくらいしか無いような・・・あるのかな?
deledelさんありがとうございます。なるほどです、Pingで応答確認してから・・ですね。なるほど!!!最終手段としてやってみたいとおもいますm()m
DirectoryExists でしょうか。
スレッドを使えば、ハングアップしません。
ニューズグループでサンプルを見つけました。
http://groups.google.co.jp/group/borland.public.delphi.objectpascal/msg/97cbdaa60cf42131?hl=ja&
えーとねさん、結構いいサンプルですね〜。勉強になりました。
しかも、アプリが無反応になることもなく、使えそうです。
ただ、DirectoryExists の実行が終了する前にアプリを終了させると、
必ずメモリリークしますので、注意が必要ですね・・・。
この辺り、もっといい方法が無いでしょうかねぇ。
ツイート | ![]() |