らうんじ PapparaSoft

ソフトのご質問、ご要望、不具合報告、その他の話題などどうぞ。

セーブ(保存)ボタンが無く、しょっちゅう日記の内容が消える。不便。

うっかりユーザー 2021/04/30 08:36
失礼、テキストのような「文書を保存する」セーブの項目が無くて不便です。
もう3度も同じ、ミスをしたのでフリーで使わせてもらっているので申し訳ないのですが、日記の内容が消えるたび、別のソフトが見つかったらやめようという思いが心から湧いてきます。
何とか保存する。というボタンを追加することはできないのでしょうか?
管理人 2021/05/01 00:16 (Res.1)
こんにちは。作者です。
wDiaryは特に何もしなくても日記が保存されるようになっています。
「日記の内容が消える」ミスとはどのような操作を行ったときでしょうか?
wDiaryの不具合や仕様による問題の可能性があります。
よろしければ再現できる手順を教えてください。


ショートカットキーの [Ctrl + S] で手動で日記を保存可能です。
それ以外では次のタイミングで自動的に保存しています。

・日記の日付を変えた時
・日記フォルダを切り替えた時
・編集モードから年間カレンダーモードにした時
・wDiaryのウィンドウを閉じた時(アプリケーションが終了する時)
・wDiary起動中にWindowsをシャットダウン・再起動・サインアウトした時
うっかりユーザー 2021/05/01 18:07 (Res.2)
夜遅くにレスを頂き誠に感謝いたします。

�仝彊�
実は腰痛の為、ベットに横になりながらPC(WIN10)を操作していたのですが、
タッチパネル操作の為、休止モードを押そうとしたらシャットダウンと間違えておしてしまいました。

��個人的な意見
...完全に私のミスなのですが、Windows付属の「メモ帳」とかだと
ソフトのウィンドウバーの下に、「ファイル」「編集」「表示」「ヘルプ」
などの表示があって「ファイル」→「名前を付けて保存」or「上書き保存」

例:https://michisugara.jp/img-old/img/software/memo/memo.jpg

しっかり保存したんだな?....一応、「上書き保存」した上に「名前を付けて保存」
でもう一度、上書き保存しとこう→「上書き保存しますか?」(上書き確認)

例:https://teratail-v2.storage.googleapis.com/uploads/contributed_images/2db1ecd98985036d9d3d418ab6280d3b.png

みたいな感じで小心者のユーザーがちゃんと保存できたなという安心感があるのですが、
こちらの「Wdiary」の場合は、保存した時のソフトの挙動が自動セーブなのでは一見便利なのですが、「手間」が無さすぎて不安になります。
保存した出来た時の挙動が全くないからです。

あと、メモ帳やなどのソフトは保存されていないと、
「このデータは保存されていません保存しますか?」

例:https://www.tku.ac.jp/iss/imgs/autosave01.png

と確認が入り、迂闊にシャットダウンなどした場合にもある程度「猶予」があるのですが失礼ながら、「Wdiary」はソフトからの「保存確認要求」が全くなく、

セーブしたデータをロードして確認する等の行為ができないので毎回、閉じるたびにソフトを再度立ち上げて確認するという行動がストレスに繋がってしまいます。

毎回、怯えながらソフトを閉じるので日記内容をクリップボードにコピーした状態でないと迂闊に閉じることができません。
特に前回のVer.である「wdiary150」は、文字の変換中にソフトが突然落ちてしまい、
最悪なことに一か月分のデータ(期間)が飛んでしまい。しばらく日記を書く気が失せてしまいました。
(新しいVer.の「wdiary160」では修正済みとのことで今のところ起こっていませんが...まだ不安がぬぐえない。)


�J歛献▲ぅ灰鵑�欲しいと思う理由。
フリーツールである以上、完全なものを求めるのは無理だと理解しているのですが、
「名前を付けて保存」をメニューバーから呼び出したり。

例;https://hamachan.info/windows/namae1.gif


上書きアイコン(FDのマーク)が有ったりすれば(頻繁に押して保存することで)
日記のデータの損害は少なかったのでは?

例:http://www.woodensoldier.info/images/idm_screen.JPG

と思ってしまい日記としての機能は悪くないのに、肝心なところ「ソフトが不安定」
「保存ファイル」のファイル状況を確認できない。
など惜しいところが多く、いまひとつといったところが、毎日使ってこその
日記ソフトとしてはどうしても残念思えてしまいます。

P.S
多分、世代の違いだと思うのですが歳の言ったユーザーにはスマホのような自動保存という機能がどうしてもなじめず、扱いづらいです。
(便利には感じられず、保存できてないときは「不安定」という感想)

先に挙げた『ID Manager ver.8.1』のような「メニューバー」と「アイコン」どちらか一つでも追加していただけないでしょうか?(もしくは、保存完了の表示動作)

長々と書いてすみません。
バグの報告というよりは個人的な要望ですが恥ずかしながら報告させていただきます。
では失礼いたします。


>ショートカットキーの [Ctrl + S] で手動で日記を保存可能です。
了解しました。わざわざどうもすみません。
pochiの雑記帳 2021/05/02 09:42 URL (Res.3)
wDiaryを使わせていただいているファンの一人です。
「一か月分のデータ(期間)が飛んでしまい。しばらく日記を書く気が失せてしまいました。」とのこと、大変でしたね。私も似たような症状に出くわしたことがあります。
さて、「一か月分のデータ」というところが重要でして、たぶんwDiaryは一か月分のデータをメモリーに展開して動作しているのだと思います。自動保存にはなっていますが、何らかの原因でメモリーの内容が反映されずに、空欄のデータが自動保存されたのではないかと思います。
「一か月分のデータ」が消えたといっても、空欄のデータ、例えば「202105.txt」というようにサイズ1KBのファイルは残っています。
そこで作者様にお願いですが、空欄のデータが自動保存されないようにしてください。
保存ボタンを付けるより、その方が安定性の向上に繋がると思います。

Ruby 2021/05/03 00:09 (Res.4)
バックアップ用ソフトを試してみたら如何でしょうか。
時間間隔でバックアップする機能もあります。
bunbackup(窓の杜にあります)
http://neo.vc/uploader/src/neo59016.png
サンチョ 2021/05/04 07:56 (Res.5)
ひと月分のデーターが消えてしまった、私にはちょっと理解できませんがその時に、具体的にどのような状況でそうなったのかを言われないと、漠然と消えてしまったと書かれても困ると思いますよ。データーがすべて消えるということはエクスプローラーでフォルダ内の全ファイルを削除するのと同じ結果であり、このソフトをどのように使えばそんなことが可能になるのかむしろ知りたいです。

レジストリは使わないし保存はテキストファイル、高機能でこれほど分かりやすいソフトはないと感謝しています。自動保存は便利ですよ。Windowsソフトは Windows3.1 から使っていますが当時は自動保存なんてありませんでした。Ctrl+Sで保存するか、メニューバーから保存するか、面倒でした。自動保存に慣れればこれほど便利なものはないと思うんですけどね。
サンチョ 2021/05/04 08:58 (Res.6)
「迂闊にシャットダウンなどした場合にもある程度「猶予」があるのですが失礼ながら、「Wdiary」はソフトからの「保存確認要求」が全くなく、」

この点は心配ないです。
「・wDiary起動中にWindowsをシャットダウン・再起動・サインアウトした時」に自動的に保存する仕様になっているようです。
私は昔趣味でWindowsプログラムを作ったことがあります。Windowsプログラムは要するにイベントプロシージャというものが核心になっていて、絶えずイベントを監視しています。作者様が五つのタイミングを挙げられていますがこれがまさにイベントであり、これだけあれば十分なのではないかと思います。もしこの五つのイベント以外にも必要であればそれを希望されれば良いのではないでしょうか?迂闊にシャットダウン、と書かれていますが勿論それも考慮されているので要は慣れだと思うのですが、、、
サンチョ 2021/05/04 18:27 (Res.7)
メモ帳の件ですが、
>あと、メモ帳やなどのソフトは保存されていないと、
>「このデータは保存されていません保存しますか?」

これ人それぞれかも知れませんが私などはむしろうるさくて迷惑なんですがね。
あれと同じようになったらこのソフトの軽快さが失われて嫌になってしまいます。
メモ帳の保存確認をうるさく感じる人は結構多いのではないでしょうか?
うっかりユーザー 2021/05/04 19:24 (Res.8)
申し訳ない現状のVerである「wdiary160」では、日記の消失はまだ1回しか起こっていないので原因ははっきりしてません。

※可能性としては、ソフトのクラッシュ(故障?)ではないかと。
�.轡礇奪肇瀬Ε鹵罎離愁侫箸離�ラッシュ?、
��休止モード復帰失敗による再起動にるソフトのクラッシュ?

の2点くらいしか現在は原因がわかりません。

ただ、前回のVerである「wdiary150」では、ソフトのクラッシュ(故障)に
あったというコメントを見かけるので、多分クラッシュした時の状態は
『似たような症状』であろうと思われます。

(大変申し訳ない、作者様あくまで参考程度にURLを張らせていただきます。)
(�◆���に関しては、私もまだ遭遇していません。)

〉�ゝ’修�UIはいいのに、非常に頻繁に落ちます
https://freesoft-100.com/review/user/10674.html

〉�◆�wDiary】日記が保存できない.データが消えた時の対処法の提案
https://koshishirai.com/wdiary-data-gone/

〉�F�記が突然消えました
http://cgi.cc9.ne.jp/~pappara/forum/log746.html


■症状の推測
>一か月分のデータ(期間)が飛んでしまい。...Ver.wdiary150時のモノ現在修正済み。

推測��
一か月分のデータ(期間)が飛んでしまい消えた。

推測��
保存されない症状自体は、『最初にソフトの起動を行った状態に戻る』

...のどちらかったかと思います。

沢山のブラウザを開きながら日記を書くことが多いので、
私のPCの問題かと思っていましたが、
『IME(文字変換)を使用中にソフトが落ちる』というコメントが結構、
WEB上に見つかったのでどうも私のPC固有の問題だけだはないということ
しかわかりません。

P.S
時々『Google chrome』あたりでも時々クラッシュしますし、
(比較対象が、大手なので比較対象が無茶なのは、わかっています
...一応、どんなプログラムでもクラッシュするという例として挙げました。)

『ID manager』あたりでも保存したデータが丸ごと消えるなんてバグ
(現在は解消済み...一応、今のところは起こっていない。)
に出会ったことがあるのでどんなプログラムであれ『完全』を望むことは無理だとはわかっています。

セーブボタンに代わるツールをわざわざ紹介いただいた作者様には深く感謝いたします。
(こちらのツールの方が他のツールを使った場合でも応用が利くので、むしろボタン追加
より効果的かもしれません。)


ただ、突然のトラブルで今までの苦労が『水の泡』になるショックになるのは本当に辛い
フリーでツールを提供してくださる、プログラマーの方々は本当に感謝いたします。

ただ、『ガラケー』に慣れた人には『スマホ』が馴染まないように
手動保存に慣れた人には自動保存『だけ』というのは、やっぱり馴染まないんです。

�‖紳腓併�間と労力をかけた、文章が消失する危険(リスク)がある為。
��一度トラブルが起こると、クラッシュを再現して説明する為にも直前までのデータがしっかり時間帯ごとに保存できないと、再現そのものができないので説明するのが難しい(リスク)。

【馴染まない事の他例】
ただいくら老人が望んでも世間が『ガラケー』や『黒電話』の存続を世間は存続してくれない。
(せめてガラケー型のキーボード位や回転ダイヤル型キーあっても良いはず?...無理ですよね。)

■サンチョ様へ、
>この点は心配ないです。
>「・wDiary起動中にWindowsをシャットダウン・再起動・サインアウトした時」に自動的に保存する仕様になっているようです。

タスクマネージャーからソフトを切っても『保存』が有効なことは確認しましたが、
クラッシュの再現がまだできていないで

>もしこの五つのイベント以外にも必要であればそれを希望されれば良いのではないでしょうか?〜

の内容に関しては、何とも言いようがないです。
「wdiary150」と同様のクラッシュだったのか?
「Windows10」の休止中&シャットダウン中のトラブルだったのかがはっきりしない為です。

...プログラムの知識はほぼ無いですし、世代が変わったこともわかるので納得できないまでも一応、「時代に合わせろ」というのもわかりますが、

それでも「手動保存にもちゃんと意味があるんだよ。」
(プログラマーでもないユーザーが取れる数少ない保険)
これだけは伝えたかった。...今となっては老人のわがままか。

ファミコンのドラクエ�兄�代に何度、苦痛を味わったことか、
それだけにFD(フロッピー)が使えたPC(PC98)は羨ましかったし、
PS(プレイステーション)はメモリーカードに保存できた。

■最後に
長々とすみません。
それだけにバックアップソフトで手動セーブ可能というのを教えてくれた作者様には深く感謝いたします。
サンチョ 2021/05/04 20:22 (Res.9)
慣れた方法から新しいシステムに慣れるのには歳がいくと本当に嫌なものですね。
それは良く分かります。
私もMicrosoftOfficeがごちゃごちゃしたインターフェースに変わってからは何がどこにあるのかさっぱりで使うのが億劫になりました。
慣れるしかしようがないのでしょうね。

「クラッシュ」という言葉。これは懐かしいですね。昔のMacOS(漢字トーク)時代にはシステムが頻繁に落ちました。Windowsでも 9x 時代は MS−DOS との互換性を考慮した結果としてリソース問題を引きずり、連続して使う時間が長くなるとフリーズしたものです。ただ今どきのソフトでクラッシュするソフトというものの経験が無いのでこの点はピンとこないです。

いずれにしても日記のデータはテキストファイルとして月ごとに保存されますね。
いったん保存されると後はOSの管理下に入ります。
フォルダを覗いてもしファイルが無くなっていればそれは wDiary とは関係のない原因ではないでしょうか?
管理人 2021/05/05 21:39 (Res.10)
こんにちは。作者です。
皆様、貴重なご意見ありがとうございます。ご不便おかけしており申し訳ございません。
いろいろヒントを頂きました。
wDiaryの日記が消失する不具合については、そのバグが潜んでいることは確かなようです。
それは再現性がなく何百回かに1回は確実に発生し、環境や使用状況によってはもっと発生頻度が高くなったり
まったく発生しなかったりするのでしょう。
Rubyさんのおっしゃるようにバックアップソフトと組み合わせるというのも良い方法だと思います。
しかしやはりwDiaryの元から修正すべき問題だと思っています。



(以下、プログラムの話です。調査途中で間違っているかもしれない情報ですので読み飛ばしてもらって大丈夫です。)
ちょっとわかった気がします。
保存処理は以下(簡略化)のようになっていて、

hFile = CreateFile(filepath, GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
if (hFile == INVALID_HANDLE_VALUE) {
// エラーメッセージ表示「ファイル保存に失敗しました。」
return FALSE;
}
BYTE bom[2] = { 0xff, 0xfe };
if (!WriteFile(hFile, bom, 2, &bytes, NULL)) {
CloseHandle(hFile);
// エラーメッセージ表示「ファイル保存に失敗しました。」
return FALSE;
}
if (!WriteFile(hFile, buf, buflen, &bytes, NULL)) {
CloseHandle(hFile);
// エラーメッセージ表示「ファイル保存に失敗しました。」
return FALSE;
}
CloseHandle(hFile);
return TRUE;

他のWin32ソフトでもここは同じようになっていると思います。
確保したバッファに一ヵ月分の日記内容を全部溜めて一気にWriteFile()しています。
:(次のコメントに続く)
管理人 2021/05/05 21:39 (Res.11)
【考えられる原因と対策その1】エラー表示が変
終了時に自動保存しますが、そのときのみ保存失敗のエラーメッセージ表示は出さないようにしています。
これは保存に失敗したときにエラー表示が延々と続いてしまわないようにした処置でした。
しかしかえって保存の失敗を確認できなくなってしまうのでそれが不安の原因となります。
失敗時は「保存に失敗しました。このまま終了しますか?」のようなダイアログを出すようにしたいと思います。

【考えられる原因と対策その2】FlushFileBuffers()、FILE_FLAG_NO_BUFFERING | FILE_FLAG_WRITE_THROUGH
『【Win32】FlushFileBuffers 関数』
https://ameblo.jp/sgl00044/entry-12533537624.html
こちらの記事によりますと
> データがまだバッファに残っている時点で何らかのエラーでアプリケーションが終了してしまった場合、
> ファイルには書き込まれないままデータはバッファと共に消失してしまうという事態が想定されます。
とあります。
こちらの記事も参考になります。
『全言語で気をつけるべき、ファイル書き込み時のお作法』
https://qiita.com/kazupaka/items/b6479f3f8d13347bf867
CatMemoNoteでiniが吹っ飛ぶのもこれをしてないからかもしれません。

【考えられる原因と対策その3】CREATE_ALWAYS
CreateFile()でCREATE_ALWAYSになっているとファイルを開いた時点でファイル内容が初期化されるので、
その直後何らかの原因でWriteFile()が失敗すると内容ゼロのファイルだけが残る(=月単位で日記が消失する)ということもあり得ると思います。
なのでCREATE_ALWAYSではなくOPEN_ALWAYSで初期化せずにファイルを開いて保存すれば
WriteFile()に失敗しても最悪でも編集日1日単位の消失で済むように改善できるのではと思います。
しかしファイルサイズが減る場合はファイルの後ろに余分なデータが出来てしまうので
書き込む長さによってCREATE_ALWAYSとOPEN_ALWAYSを使い分けるのが良さそうです。
うーん、こんな使い方していいのかどうか…。

【考えられる原因と対策その4】保存以前の問題
pochiさんの空欄のデータが自動保存されてしまう可能性について、
見落としていましたそこが原因の可能性も十分ありますね。
保存処理以前の、bufの長さが0とか不正になっているかのチェックはしていなかったので付けたそうと思います。
例えば日記1日目に書いてそれを削除すると長さ0になるのは正常なのでそこをどうするかなど工夫が必要そうです。

【考えられる原因と対策その5】何回か試みる
オンラインストレージを使っているとCreateFile()がたまに失敗するので、
wDiary 1.6.0ではfor文で10回くらい回してCreateFile()が成功するまでSleep()を入れてまた試すというコードを追加しています。
書き込み長さbuflenと書き込んだバイト数bytesの比較、
または書き込み最後にGetFileSize()でファイルサイズをチェックして
不正であれば数回繰り返すというコードも有効かもしれません。苦肉の策。

【意味なかった対策】
一時的なファイルに保存して、保存対象ファイルを削除、一時的なファイルを保存対象ファイル名に変更。
これはCatMemoNoteのiniがふっ飛ぶ問題で行った対策ですが
一時的なファイルの内容自体がゼロになりそれが残るだけで意味ないような感じです><
一時ファイルの内容が0でないかのチェックをすればマシになるかとも思いましたが
それだと直接保存するのと変わらないのでやっぱり意味ないかも。
うっかりユーザー 2021/05/16 01:31 (Res.12)
失礼トラブルの症状について追報があった為、軽い報告のみさせていただきます。
「wdiary160」で発生したクラッシュの件ですが、また再び同じ事が起こったので、
一応、追加連絡しておきます。

*2021/05/04 19:24 (Res.8)
>の内容に関しては、何とも言いようがないです。
>「wdiary150」と同様のクラッシュだったのか?
>「Windows10」の休止中&シャットダウン中のトラブルだったのかがはっきりしない為です。

どうやら、WIN10の休止モードの復元、失敗が原因らしいです。
私の場合は、休止モードをキーボードで叩いて、復帰しようとしたのですが、
その後、再起動となりました。(再起動したのと同じ挙動)

調べてみると、WIN10は休止モードやサスベントから復帰に失敗すると
再起動してしまうことがあるようで、これは完全に「Windows10」側の挙動なので
『たぶん』ですが、「wdiary160」になってからの日記データの消失は、

バグというよりは、「Windows10」の休止&サスベントの復帰失敗による。
データ消失という可能性が高そうです。

(今回は、教えていただいた「Ctrl+S」コマンドのおかげで日記データの消失は、避けられましたが、前回は、ソフトを立ち上げた「直後」の状態に戻ってました。)

再起動がめんどくさい事もあり、たくさんのアプリを立ち上げた状態で電源を切らずに
休止モードを使うことが多いので『私固有の原因』もありそうです。

◆個人的対策
...もしも、「休止モード&サスベント」を多用する方がいらっしゃったら、
一度、日記セーブを行うか、一回ソフトを落としてセーブしてから日記を再開する
事を恥ずかしながら提案させていただきます。

◆参考
・win10 休止モード 失敗 復帰 - Google 検索
https://www.google.com/search?q=win10+%E4%BC%91%E6%AD%A2%E3%83%A2%E3%83%BC%E3%83%89+%E5%A4%B1%E6%95%97+%E5%BE%A9%E5%B8%B0&oq=WIN10%E3%80%80&aqs=chrome.1.69i57j35i39j0i433l4j0i131i433j69i60.9204j0j7&sourceid=chrome&ie=UTF-8

・windows10の大型アップデート後に割りと高確率で休止状態からの復帰が失敗するようになる件につい
https://riku-zen.cocolog-nifty.com/blog001/2018/04/windows10-cd79.html


P.S
「バックアップ用ソフト」をご紹介いただきました。
「Ruby」様、大変申し訳ない。
急いでコメントを書いた為か、作者様と表記してしまいましたが正確には、


*うっかりユーザー 2021/05/04 19:24 (Res.8)

×
>それだけにバックアップソフトで手動セーブ可能というのを教えてくれた作者様には深く感謝いたします。

〇
それだけにバックアップソフトで手動セーブ可能というのを教えてくれた「Ruby」様、

素晴らしいソフトをフリーで公開されている「作者」様に深く感謝いたします。

ご意見をくださった、「サンチョ」様にお礼申し上げます。

に訂正させていただきます。


短くまとめようと思いましたが、
やっぱり難しくて無理でした。
長文、誠にすみません失礼いたします。
【返信】
投稿の際はヘルプをお読みください。
お名前 ※
Mail
URL
メッセージ ※