プロジェクト再読込時にフォームのサイズが変わってしまいます

解決


みみ  2005-06-22 10:29:02  No: 15837  IP: 192.*.*.*

たびたびお世話になります。

フォームを作成し、コンパイル&実行確認などを行ったプロジェクトを保存し終了しました。その後、メンテナンスのためにプロジェクトを開きなおしたのですが、フォームのHeightが勝手に変わってしまっていました。何度開き直しても同じです。なにか設定が悪いのでしょうか?

よろしくお願いします。

編集 削除
みみ  2005-06-22 10:31:30  No: 15838  IP: 192.*.*.*

プロパティを変更して保存、その後開き直しても現象は同じです。サイズが20減ることがほとんどで、読み込むたびに変わる時もあります。
コンポーネントの階層は以下のような感じです。
Form
  +Panel1
    +Edit1
  +Panel2
    +Button1
なおPanel1と2を切り替えて使用するため、Panel1と2は重ねて置いています。

編集 削除
ちょっと確認  2005-06-22 10:52:56  No: 15839  IP: 192.*.*.*

オカシナ現象が起きるのはそのプロジェクトだけ?
他のプロジェクトや新規プロジェクトの場合は問題ないの?

編集 削除
みみ  2005-06-22 10:59:19  No: 15840  IP: 192.*.*.*

はい、このプロジェクト内には、ほかに3つのフォームが存在するのですが、おかしくなるのはこのフォームだけです。

編集 削除
deldel  2005-06-22 11:35:08  No: 15841  IP: 192.*.*.*

CPUが2個あるシステムだと、こんなことが起こるということを
聞いたことがあります。

編集 削除
みみ  2005-06-22 11:53:55  No: 15842  IP: 192.*.*.*

CPUは1個です。
どうも、プロジェクトの開き直しだけではなく、プロジェクトの実行後にそのフォームのエディトをしようとした際にもサイズが変わってしまいます。そのフォームを編集のために開き直さなければ実行しようが何しようがサイズは変わらないのですが。。。

編集 削除
deldel  2005-06-24 09:17:19  No: 15843  IP: 192.*.*.*

なんでですかね〜?

原因の解決ではないですが、逃げの方法として、FormCreate で
サイズを設定するとか、別のフォームを新規で作成し直して、
問題のフォームを破棄するとか、プロジェクトを0から作り直すとか、
色々やって見ると現象が起こらなくなるかもです。

編集 削除
みみ  2005-06-28 15:10:39  No: 15844  IP: 192.*.*.*

問題のフォームは破棄して、同じようにフォームを再作成しました。なぜか現象は変わらずです。というか、一時的に現象はなくなった(?)のですが、再発しました。。。2枚のパネルを重ねて2枚ともAlign=alClientってのがだめなのでしょうか。。。でもフォームに影響が及ぶってのもおかしいですし。

編集 削除
ん?  2005-06-28 16:45:42  No: 15845  IP: 192.*.*.*

いっそのこと、Win 3.1タブの TNoteBookを使ってみるとか?
ページコントロールと異なり、タブが表示されないコントロールです。
TTabsetとセットで、ページコントロールと同じ動作が実現できます。

ただし、
> TNoteBook は下位互換性のために提供されています。
だそうです。


>重ねて2枚ともAlign=alClientってのがだめなのでしょうか
こちらでは再現しないのですが、
設計時は、Align=alNone にしておいて、実行時に表示するパネルだけAlign=alClientにするのはどうですか?

編集 削除
みみ  2005-06-28 19:43:40  No: 15846  IP: 192.*.*.*

>設計時は、Align=alNone にしておいて、実行時に表示するパネルだけAlign=alClientにするのはどうですか?

今、この状態にしています。現状、問題は起きていません。
しばらく(多分このままずっと?)この状態で開発を進めようと思います。

皆様、ありがとうございました。

編集 削除