tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板 [ツリー表示へ]   [Home]
一括表示(VB6.0)
タイトルファイル操作について
記事No15585
投稿日: 2012/08/23(Thu) 14:46
投稿者イリチー
Windows2000 sp4、VB6.0
宜しくお願いします

ファイル操作の
Openでファイルを開き、
Printで書き込みを行い、
Closeを行っております。

ここでお聞きしたいのがCloseを行った際に
遅延は出るのでしょうか?

現在理由がわからないのですが、
作成したアプリケーションを動作させていると
PCがブルーバックになるという現象が起こりまして、
ログを残すことにしたのですが、
遅延が出ると困るので質問させて頂きました。

以下ソースです。

Dim iFnum%
Dim sStr$
Dim sPath$

  '** ファイル名
  sPath=App.Path & "\" & "TEST.LOG"

  '** 文字列作成
  sStr = Format(Now, "YYYY/MM/DD HH:MM:SS") & "ログ内容"

  '** 記録
  On Error GoTo ESC
    iFnum = FreeFile
      Open sPath For Append Shared As iFnum
        Print #iFnum, sStr
      Close iFnum
  On Error GoTo 0
    

[ツリー表示へ]
タイトルRe: ファイル操作について
記事No15586
投稿日: 2012/08/23(Thu) 18:57
投稿者魔界の仮面弁士
> ここでお聞きしたいのがCloseを行った際に
> 遅延は出るのでしょうか?
書き込み遅延という意味であれば発生しますよ。


> 遅延が出ると困るので質問させて頂きました。
CreateFile API + WriteFile API での出力であれば、FILE_FLAG_WRITE_THROUGH を
指定することで、ディスクキャッシュを通さず書き出せますが…それも大変ですよね。
http://support.microsoft.com/kb/165942/ja
http://support.microsoft.com/kb/410193/ja

[ツリー表示へ]
タイトルRe^2: ファイル操作について
記事No15587
投稿日: 2012/08/24(Fri) 09:56
投稿者イリチー
 魔界の仮面弁士さんご返信有り難う御座います。

> 書き込み遅延という意味であれば発生しますよ。
 
 書き込み遅延の事です。

> CreateFile API + WriteFile API での出力であれば、FILE_FLAG_WRITE_THROUGH を
> 指定することで、ディスクキャッシュを通さず書き出せますが…それも大変ですよね。
> http://support.microsoft.com/kb/165942/ja
> http://support.microsoft.com/kb/410193/ja

  まだ見ていませんが上のCreateFile API + WriteFile APIを試したいと思います。

 

[ツリー表示へ]