C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[4]: 既に別のプロセスで使用されているファイルのオープン


(過去ログ 33 を表示中)

[トピック内 6 記事 (1 - 6 表示)]  << 0 >>

■16046 / inTopicNo.1)  既に別のプロセスで使用されているファイルのオープン
  
□投稿者/ Win初心者 (1回)-(2008/03/27(Thu) 14:46:41)

分類:[C++/CLI] 

初めまして。

別のプロセスで使用中のテキストファイルを閲覧目的でオープンしたいのですが、
例外が発生してしまい、うまく行きません。

FileStream::OpenRead()

を使用しています。
普通の

FileStream::Open()

で FileAccess::Read などを指定して試してみたのですがオープンできる気配がありません。

エクセルでテキストファイル.CVSなどを開いていて、自分のプログラムでその.CVSを読むと
例外発生でうまくいかず、メモ帳などでは開けてしまいます…。

初歩的な質問ですが、よろしくお願いいたします。

引用返信 編集キー/
■16048 / inTopicNo.2)  Re[1]: 既に別のプロセスで使用されているファイルのオープン
□投稿者/ Win初心者 (2回)-(2008/03/27(Thu) 14:49:01)
すいません・・・CVSではなくCSVでした。

引用返信 編集キー/
■16052 / inTopicNo.3)  Re[1]: 既に別のプロセスで使用されているファイルのオープン
□投稿者/ シャノン (344回)-(2008/03/27(Thu) 15:23:23)
No16046 (Win初心者 さん) に返信
> で FileAccess::Read などを指定して試してみたのですがオープンできる気配がありません。

FileShare.Read も指定するとどうでしょう。
引用返信 編集キー/
■16058 / inTopicNo.4)  Re[2]: 既に別のプロセスで使用されているファイルのオープン
□投稿者/ Hongliang (259回)-(2008/03/27(Thu) 15:55:35)
FileShare.ReadWrite の方が必要かも。
引用返信 編集キー/
■16062 / inTopicNo.5)  Re[3]: 既に別のプロセスで使用されているファイルのオープン
□投稿者/ Win初心者 (3回)-(2008/03/27(Thu) 16:29:28)
No16058 (Hongliang さん) に返信
> FileShare.ReadWrite の方が必要かも。

hStream = File::Open(sDir + "\\" + sNam, FileMode::Open, FileAccess::Read, FileShare::ReadWrite);

この設定で読み込むことができました!ありがとうございました!

FileShare::Read だと相変わらず失敗するのですが、これは、エクセル側のオープンの仕方の関係なのでしょうか…。
ともかく、解決いたしました〜。

解決済み
引用返信 編集キー/
■16091 / inTopicNo.6)  Re[4]: 既に別のプロセスで使用されているファイルのオープン
□投稿者/ Azulean (40回)-(2008/03/27(Thu) 22:35:53)
> FileShare::Read だと相変わらず失敗するのですが、これは、エクセル側のオープンの仕方の関係なのでしょうか…。
Excelは(FileAccessでの)Read/Writeで開いているので、「他のプロセスへRead以外のアクセスを許さない」とするFileShare.Readでは失敗します。
FileShare.Readで成功するためには、誰も書き込みアクセスをしていないことが前提になります。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -