なでしこ1のTfrmNako.FormDestroyの母艦判定不足(たぶん)

30 views
Skip to first unread message

うぇいく

unread,
May 26, 2016, 10:56:22 AM5/26/16
to 日本語プログラミング言語「なでしこ」開発
時間が取れないのと、まだあまり全体の動きを把握していないので、報告だけ。

なでしこ1の場合、frmNakoが母艦とそれ以外のフォームの共通の部品となっていると
思うのですが、FormCreateでは、母艦固有の生成時の処理があるものの、そのほかの部分では
どうも切り分けが足らないような気がします。特に以下の箇所は対応がひつような
ような気がします。

TfrmNako.FormDestroy
以下の処理は、母艦のときのみにしないといけない。気がする。
  FreeAndNil(_dnako_loader);
  if _dnako_success then
  begin
    // 終了時の例外を無視するように
    try
      nako_free;
    except
    end;
  end;
(間にある、FreeAndNil(backBmp);は、母艦でもそのほかのフォームでも必要)

TfrmNako.FormCloseにて、レポートの作成部分は、一応、母艦のみにした方が良い気が。
実際には、母艦以外ではUseDebugが立たないはずなので、レポートが作成されてしまうことはない(と思う)
ソースを読むときの区別として、isBokanで閉じられていると、読みやすそう。

この辺が原因で、動的生成したフォーム(や、静的に生成したフォーム)を壊すと、
おかしな動作になる(アプリケーションエラー含む)となっている気がします。

Mineaki SAKATOKU

unread,
May 27, 2016, 1:59:44 AM5/27/16
to nadesi...@googlegroups.com
うぇいくさん

クジラ飛行机です。いくつかの問題点の指摘ありがとうございます。
確かに、ご指摘の通りです!
もし可能なら、うぇいくさん、修正に挑戦していただいても良いでしょうか?
私も、時間が出来たときに、見てみます。



2016年5月26日 22:56 うぇいく <we...@nifty.com>:

--
このメールは Google グループのグループ「日本語プログラミング言語「なでしこ」開発」に登録しているユーザーに送られています。
このグループから退会し、グループからのメールの配信を停止するには nadesiko-dev...@googlegroups.com にメールを送信してください。
その他のオプションについては https://groups.google.com/d/optout にアクセスしてください。



--
-----------------------------------------
Mineaki SAKATOKU (酒徳峰章 - クジラ飛行机)
mailto: w...@kujirahand.com
website: http://kujirahand.com/

うぇいく

unread,
Jun 7, 2016, 9:05:48 AM6/7/16
to 日本語プログラミング言語「なでしこ」開発
 指摘したとおりに修正してみたところ、動的に生成したフォームの解放後に、
なぜか、確実にAccessViolationで落ちるようになってしまったため、まだ調査中。
(「言う」の)Application.ProcessMessageで落ちるのも良くわからない)

しかし、Win10になっても、まだ、Delphi7のIDEが動くのがちょっと不思議。
Reply all
Reply to author
Forward
0 new messages