HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2023
1003
大富豪ファイル(データ)のステータス取得3解決


大富豪

リンク

2023/10/3(Tue) 23:35:34|NO.100123

お世話になります。
たぶん無理だと思いますが・・・念のため;

HSP側で指定したファイル(データ)が、
保存処理中かどうかを見る事は可能でしょうか。

bmpsave, cvsaveなどファイル保存のコマンドを使うと、
保存が正常終了したかどうかstatで返ってきますが、
そうではなく、ファイルそのものの状態取得です。

データサイズが大きく保存処理に時間が掛る場合、
開く処理との干渉で出るアプリ側の不具合を回避したいためです。

可能ならHSP側から開こうとしているファイルが、
・既に開いている状態かどうか
・保存処理中かどうか
(アクセス中かどうか)を取得したいです。

宜しくお願いします。



この記事に返信する


窓月らら

リンク

2023/10/5(Thu) 09:29:33|NO.100144

APIを使って判定する方法もあった気がするのですが、ひとつの簡易的な方法を提示します。

2つの別のプロセスでテストします。
以下は判定用。こちらを先に起動しておきます。

// ファイルの状態を判定 msg="" mesbox msg,640,480 *main exist "R:\\test.dat" // ファイルサイズ(状態)を取得 msg+="strsize="+strsize+" " // strsize にファイルサイズが入る objprm 0,msg sendmsg objinfo_hwnd(0),$00B5,$0007,0 // 末尾行にスクロール wait 1 goto *main
以下はダミー書き込み用。パスは変更してください。
ストレージに負荷をかけるのでファイルサイズには注意してください。

// テスト書き込み sdim buf,512000*1024 // ファイルサイズ bsave "R:\\test.dat",buf // パスはテスト用です mes "ok"
ファイルがなければ -1
書き込み中は 0 が返ってくると思われます。
ただし、0バイトのファイルの場合も0なので注意です。



大富豪

リンク

2023/10/5(Thu) 20:36:38|NO.100148

> 窓月らら さん

ありがとうございます、
テストしてみました。

0か-1が返ってくるのは・・・
どこに表示されるのでしょうか・・・。

R:\\test.dat
これを同一ホルダーにある100MBのbmpに置き換えてテストしてみたのですが、
サイズの表示だけで・・・。
(loopの方を動かした状態でbmpを上書き保存しました)

もう少し確認してみます;



大富豪

リンク

2023/10/10(Tue) 18:32:35|NO.100184

Artlet2D/alSaveFile ですと、
保存状態の返しを読み取っているようですが、
その機能だけですとなかなか難しそうですので、
一旦終了という事で。

>窓月らら さん
ご対応ありがとうございました。



記事削除

記事NO.パスワード
(質問が解決したスレッドは他の利用者に活用してもらうため、削除しないようお願いします)

NO.100123への返信

マスコット

好きなマスコットを選んでください。

名前

e-mail
HOME
  1. 初めて利用する方は、HSP3掲示板の使い方をお読みください。
  2. 不要部分の多い長いスクリプトの投稿は ご遠慮ください。
  3. 書き込みは自動改行されません。適度に改行を入れてください。
  4. スクリプトは小文字の<pre>〜</pre>で囲むと見やすく表示できます。

削除用パスワード

解決したら質問者本人がここをチェックしてください。

エラー発生時、再送信すると二重送信になることがあります。
回答が得られたら、お礼書き込み時に[解決]チェックしてください。
SPAM防止のためURLから始まる文章は投稿できません。
SPAM防止のため英文字のみの本文を投稿することはできません。

ONION software Copyright 1997-2023(c) All rights reserved.