タブフレーム外でボタンを設置するとハング!

投稿者:KNIGHT 投稿日:2024/02/25(Sun) 14:30:01 No.2953

御世話になります。

プロデルデザイナーで、タブフレームを設置して、フレーム外にボタンを作って、プログラムとGUIウィンドウ数回行ったり来たりするだけで、エラーが出て、自動作成した部品がすべて消えてしまいます。

〜〜〜〜〜
メイン画面を表示する
待機する
メイン画面とは
  ウィンドウを継承する
  はじめの手順
    初期化する
    ーー貼り付けた部品に対する操作をここに書きます
  終わり
  初期化する手順
    ーー自動生成された手順です。ここにプログラムを書き加えても消える場合があります
    初期化開始する
    この内容を「メイン画面」に変える
    この文字色を「標準の文字」に変える
    ボタン1というボタンを作る
      その位置と大きさを{236,47,44,29}に変える
      その内容を「ボタン1」に変える
      その移動順を1に変える
      その文字色を「標準の文字」に変える
    タブフレーム1というタブフレームを作る
      その位置と大きさを{8,6,222,252}に変える
      その見出しサイズを{65,18}に変える
      その文字色を「標準の文字」に変える
      タブページ1というタブページをタブフレーム1へ作る
        その位置と大きさを{4,22,214,226}に変える
        その内容を「タブページ1」に変える
        その文字色を「標準の文字」に変える
        その背景色を「透明」に変える
        その余白を{3}に変える
        テキスト1というテキストをタブページ1へ作る
          その位置と大きさを{58,30,86,19}に変える
          その移動順を3に変える
        ラベル3というラベルをタブページ1へ作る
          その位置と大きさを{16,93,84,23}に変える
          その内容を「ラベル3」に変える
          その移動順を2に変える
          その文字色を「標準の文字」に変える
          その背景色を「透明」に変える
        ラベル2というラベルをタブページ1へ作る
          その位置と大きさを{12,54,75,24}に変える
          その内容を「ラベル2」に変える
          その移動順を1に変える
          その文字色を「標準の文字」に変える
          その背景色を「透明」に変える
        ラベル1というラベルをタブページ1へ作る
          その位置と大きさを{11,15,64,16}に変える
          その内容を「ラベル1」に変える
          その文字色を「標準の文字」に変える
          その背景色を「透明」に変える
      タブページ2というタブページをタブフレーム1へ作る
        その位置と大きさを{4,22,214,226}に変える
        その内容を「タブページ2」に変える
        その移動順を1に変える
        その文字色を「標準の文字」に変える
        その背景色を「透明」に変える
        その余白を{3}に変える
    初期化終了する
    タブフレーム1の一覧を{「タブページ1」,「タブページ2」}に変える
  終わり
終わり
〜〜〜〜

以下のようなエラーが出て、プロデルが異常終了し、プログラムは部品がほとんどなくなってしまいます。

プロデル 2.0.1224
種類 'System.ComponentModel.Design.ExceptionCollection' の例外がスローされました。
場所 System.ComponentModel.Design.DesignerHost.Unload()
場所 System.ComponentModel.Design.DesignerHost.System.ComponentModel.Design.Serialization.IDesignerLoaderHost.Reload()
場所 System.ComponentModel.Design.Serialization.BasicDesignerLoader.OnIdle(Object sender, EventArgs e)
場所 System.EventHandler.Invoke(Object sender, EventArgs e)
場所 System.Windows.Forms.Application.ThreadContext.System.Windows.Forms.UnsafeNativeMethods.IMsoComponent.FDoIdle(Int32 grfidlef)
場所 System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
場所 System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
場所 System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
場所 System.Windows.Forms.Application.Run(Form mainForm)
場所 Produire.Designer.Program.Main(String[] args)

何度もタブフレームを作り直す羽目になってしまっています。
ちなみに、他のバージョンでも試してみましたが同様のエラーでした。
プロデル 1.7.1150
プロデル 1.8.1176

また、フレーム内にボタンを設置した場合には、エラーは出ず、ボタンをフレーム外に引っ張り出すと、途端にエラーが出て異常終了してしまいます。

かなり以前(10年くらい前?)にプロデルに挑戦して、TTSneoではできるのに、プロデルではエラーが出て出来ないので、プロデルへのプログラムの移植をあきらめたのも、これが原因だったように記憶しています。

どうか、よろしくお願いいたします。

Re: タブフレーム外でボタンを設置するとハング!?

投稿者:KNIGHT 投稿日:2024/02/25(Sun) 16:03:45 No.2954

御世話になります。

しかし、以下のプログラムではエラーは出ません。
〜〜〜
メイン画面を表示する
待機する
メイン画面とは
  ウィンドウを継承する
  はじめの手順
    初期化する
    ーー貼り付けた部品に対する操作をここに書きます
  終わり
  初期化する手順
    ーー自動生成された手順です。ここにプログラムを書き加えても消える場合があります
    初期化開始する
    この実質大きさを{485,424}に変える
    この内容を「メイン画面」に変える
    この文字色を「標準の文字」に変える
    タブフレーム1というタブフレームを作る
      その位置と大きさを{9,13,331,409}に変える
      その見出しサイズを{65,18}に変える
      その移動順を19に変える
      その文字色を「標準の文字」に変える
      タブページ1というタブページをタブフレーム1へ作る
        その位置と大きさを{4,22,323,383}に変える
        その内容を「タブページ1」に変える
        その文字色を「標準の文字」に変える
        その背景色を「透明」に変える
        その余白を{3}に変える
        チェックボックス2というチェックボックスをタブページ1へ作る
          その位置と大きさを{24,198,104,17}に変える
          その内容を「映画が好き」に変える
          その移動順を8に変える
          その文字色を「標準の文字」に変える
          その背景色を「透明」に変える
        チェックボックス7というチェックボックスをタブページ1へ作る
          その位置と大きさを{27,330,99,24}に変える
          その内容を「チェックボックス7」に変える
          その移動順を18に変える
          その文字色を「標準の文字」に変える
          その背景色を「透明」に変える
        テキスト1というテキストをタブページ1へ作る
          その位置と大きさを{77,19,93,19}に変える
          その移動順を10に変える
        チェックボックス6というチェックボックスをタブページ1へ作る
          その位置と大きさを{26,306,100,18}に変える
          その内容を「チェックボックス6」に変える
          その移動順を17に変える
          その文字色を「標準の文字」に変える
          その背景色を「透明」に変える
        テキスト2というテキストをタブページ1へ作る
          その位置と大きさを{77,44,93,19}に変える
          その移動順を1に変える
        チェックボックス5というチェックボックスをタブページ1へ作る
          その位置と大きさを{26,277,100,23}に変える
          その内容を「チェックボックス5」に変える
          その移動順を16に変える
          その文字色を「標準の文字」に変える
          その背景色を「透明」に変える
        テキスト領域1というテキスト領域をタブページ1へ作る
          その位置と大きさを{132,221,179,134}に変える
          その移動順を2に変える
        チェックボックス4というチェックボックスをタブページ1へ作る
          その位置と大きさを{25,247,101,24}に変える
          その内容を「チェックボックス4」に変える
          その移動順を15に変える
          その文字色を「標準の文字」に変える
          その背景色を「透明」に変える
        オプション1というオプションをタブページ1へ作る
          その位置と大きさを{24,69,70,19}に変える
          その内容を「既婚」に変える
          その移動順を3に変える
          そのフォーカス移動可能を○に変える
          その文字色を「標準の文字」に変える
          その背景色を「透明」に変える
        チェックボックス3というチェックボックスをタブページ1へ作る
          その位置と大きさを{24,222,83,19}に変える
          その内容を「スポーツ好き」に変える
          その移動順を14に変える
          その文字色を「標準の文字」に変える
          その背景色を「透明」に変える
        オプション2というオプションをタブページ1へ作る
          その位置と大きさを{24,94,70,26}に変える
          その内容を「独身」に変える
          その移動順を4に変える
          そのフォーカス移動可能を○に変える
          その文字色を「標準の文字」に変える
          その背景色を「透明」に変える
        ラベル1というラベルをタブページ1へ作る
          その位置と大きさを{12,22,59,19}に変える
          その内容を「名前」に変える
          その移動順を5に変える
          その文字色を「標準の文字」に変える
          その背景色を「透明」に変える
        ラベル2というラベルをタブページ1へ作る
          その位置と大きさを{12,47,42,18}に変える
          その内容を「出身県」に変える
          その移動順を6に変える
          その文字色を「標準の文字」に変える
          その背景色を「透明」に変える
        チェックボックス1というチェックボックスをタブページ1へ作る
          その位置と大きさを{24,171,118,21}に変える
          その内容を「ドラマが好き」に変える
          その移動順を7に変える
          その文字色を「標準の文字」に変える
          その背景色を「透明」に変える
        ラベル3というラベルをタブページ1へ作る
          その位置と大きさを{132,195,66,14}に変える
          その内容を「趣味」に変える
          その移動順を9に変える
          その文字色を「標準の文字」に変える
          その背景色を「透明」に変える
      タブページ2というタブページをタブフレーム1へ作る
        その位置と大きさを{4,22,323,383}に変える
        その内容を「タブページ2」に変える
        その移動順を1に変える
        その文字色を「標準の文字」に変える
        その背景色を「透明」に変える
        その余白を{3}に変える
    ボタン3というボタンを作る
      その位置と大きさを{377,310,67,25}に変える
      その内容を「クリア」に変える
      その移動順を13に変える
      その文字色を「標準の文字」に変える
    ボタン2というボタンを作る
      その位置と大きさを{377,381,72,26}に変える
      その内容を「復元」に変える
      その移動順を12に変える
      その文字色を「標準の文字」に変える
    ボタン1というボタンを作る
      その位置と大きさを{377,349,72,26}に変える
      その内容を「保存」に変える
      その移動順を11に変える
      その文字色を「標準の文字」に変える
    初期化終了する
    タブフレーム1の一覧を{「タブページ1」,「タブページ2」}に変える
  終わり

ーー[保存]ボタンをクリックした時
  ボタン1がクリックされた時の手順
  設定値は「」
  タブページ1の子部品一覧を部品へそれぞれ繰り返す
    もし 部品が「テキスト」を含むなら 設定値は、設定値&「[部品の名前]の内容は、[「][部品の内容][」][改行]」
    もし 部品が「チェックボックス」を含むなら 設定値は、設定値&「[部品の名前]の状態は、[「][部品の状態][」][改行]」
    もし 部品が「オプション」を含むなら 設定値は、設定値&「[部品の名前]の状態は、[「][部品の状態][」][改行]」
  そして
  「[プログラムの位置]タブ1設定値.dat」に設定値を保存する  
  終わり

ーー[読み出し]ボタンをクリックし時
  ボタン2がクリックされた時の手順
  ーープログラムをロードして実行する
  設定値復元は「[プログラムの位置]タブ1設定値.dat」から読み込んだもの
  設定値復元をプロデる
  終わり
  
ーー[クリア]ボタンをクリックし時
  ボタン3がクリックされた時の手順
  タブページ1の子部品一覧を部品へそれぞれ繰り返す
    もし 部品が「テキスト」を含むなら 部品の内容は「」
    もし 部品が「チェックボックス」を含むなら部品の状態は「なし」      
    もし 部品が「オプション」を含むなら部品の状態は「×」      
  そして
    終わり
終わり
〜〜〜
このプログラムでもタブフレームの外にボタンを3つ設置していますが、エラーは出ません。なぜなのでしょうか?

よろしくお願いいたします。

カイゼン掲示板にお願いします

投稿者:ゆうと <yutopia あっとまーくutopiat.net> 投稿日:2024/02/25(Sun) 16:15:12 No.2955

こんにちは。

情報を整理するために「フリーズする」といった現象や「例外がスローされました。」類のエラーについては
バグの可能性が高いので、今後はカイゼン掲示板への投稿をお願いします。

よろしくお願いします。

Re: カイゼン掲示板にお願いします

投稿者:KNIGHT 投稿日:2024/02/25(Sun) 16:41:07 No.2958

こんにちは。ゆうとさま。
修正確認いたしました。早速の修正をいただきありがとうございました。
10年来のハードルが一つなくなりました。
ありがとございます。

> 情報を整理するために「フリーズする」といった現象や「例外がスローされました。」類のエラーについては
> バグの可能性が高いので、今後はカイゼン掲示板への投稿をお願いします。
分かりました。今後はそうさせていただきます。

バグ修正しました

投稿者:ゆうと <yutopia あっとまーくutopiat.net> 投稿日:2024/02/25(Sun) 16:31:14 No.2957

お世話になっています。

タブフレームのエラーの件、再現できました。
最新版では正常に動作するように修正しました。

> かなり以前(10年くらい前?)にプロデルに挑戦して、TTSneoではできるのに、プロデルではエラーが出て出来ないので、プロデルへのプログラムの移植をあきらめたのも、これが原因だったように記憶しています。

まったく気が付きませんでした。
フィードバックありがとうございます。
また何か気が付いた事があれば、お願いします。

▲ページの先頭へ

- WebForum -