私は4台にXE5を入れて使っていますが、その一台でおかしい現象が起きてますので、質問させていただきます。
(1)起動したときにウェルカムページが表示されないで、bds.exe.configが表示されている。どうしたらウェルカムページが表示されますか?
(2)私のプログラムはメインから5個のフォームが立ち上がるように作っていますが、昨日からそのうちの一つのフォームに×印のある行=一番上のフォームの名前が出ているところがなくなりました。他の4つのフォームにはあります。別のPCから移植したプログラムですから、プログラムミスの可能性はないと思います。何故でしょうか??
よろしくお願いします。
(2)は解決しました。2台のPCでオブジェクトインスペクタを比較したら、Heightの値が548が547に代わっていました。
直したら、正常になりました。しかし、移動しただけだから数値が変わるのもおかしいのですが。
Heightの値が1違っただけでCaptionを表示している場所が消えるというのも乱暴な話ですよね。
何故そうなるのか教えてください。
よろしくお願いします。
正常な元のPC(8です)ではHeightを547にしてもCaptionのある場所(この場所は何という名前ですか??)は消えません。
おかしい方のPC(7です)ではHeightを548にすると表示されますが、547にすると消えます。
原因の分かる方、よろしくお願いします。
さらにおかしいのは、FormCreate、FormResize、OnActivateの中で
Form.Height:=548;
を入れているので、オブジェクトインスペクタの数値は関係ないはずと思うのですが?
おかしい方のPCでは、549や598という数字でもおかしくなります。
548だけが上手くいくようです。
また、もう一台のPC(8です)も同じように消えるのが分かりました。
皆さんのお力添えをよろしくお願いします。
大量の質問の文章見て回答する気が・・・
気を取り直して
この辺?
https://www.petitmonte.com/bbs/answers?question_id=2389
あとは新規フォーム作成して
タイマーイベントか何かで
フォームのHeightを547 前後で変わるプログラム作成したら
実行環境なのか開発環境なのか原因分かる気がします。
そのCaptionが表示されているところは一般にタイトルバーとかキャプションバーとか言うです。
で、そのバーが(右の方のボタンともども)消えてなくなっているということですか? なかなか珍しい現象ですね……
消えるといいますが、具体的な現象の出方が気になりますね。例えば……
・ウィンドウの中身はそのままだがバーだけがなくなって、その分フォームの高さが減っているのか?
・それともフォームの高さはそのままで、ウィンドウの中身がタイトルバーの領域に侵食している(上の方にずれて表示される)のか?
環境によって微妙にサイズが変わるというのはScaled、
サイズの制約という点ではMinHeight、MaxHeightといったプロパティの影響が考えられます。
このあたりが干渉してタイトルバーが消える?……考えにくいですが、一応設定を確認してみてはどうでしょうか。
また、現象が出ているフォームとそうでないフォームで、ウィンドウの枠線の見た目は同じでしょうか?
もし違っているとしたら、BorderStyleが変化しているということも考えられます。
takeさん、torさん、ありがとうございます。
消える現象を説明しますと、タイトルバーがなくなって、その分以上にしたに空欄ができています。clientHeightというんですか、その中で表示した内容はそのままあります。フォームの高さは高くなっています。また、ウィンドウの枠線は、タイトルバーと同じですけど、無くなっています。
borderStyleなど調べてみます。
ちなみに、Dephi XE5 は Update2 と Hotfixがいくつか出ていると思うのですが、
適用済みですか?
BorderStyleをいろいろ変えてみましたが、変化ありません。
MiniHeightとMaxHeightは0になっています。
ScaledはtrueとFalseの値だと思いますが、どちらにしても変化ありません。
また、別のフォームがHeightが548なのでこれを547にしても正常に表示されています。
Update2とHotfixは覚えがありません。試してみますね。
んん? んんんん?
> さらにおかしいのは、FormCreate、FormResize、OnActivateの中で
> Form.Height:=548;
FormResize の中で
Form.Height :=
もしかして:無限リサイズループ
おっと大事なこと聞くの忘れてた。
タイトルバーが消えている状態の時、アプリケーション自体は正常に操作できているのでしょうか?
torさん、ありがとうございます。
まず、アプリケーションは正常に作動しております。
今試したら、FormResizeの中のForm.Height:=548;が原因でした。
消したら正常に表示されました。
ありがとうございました。
最後に、ウェルカムぺージを起動時に表示させる方法を教えてください。
FormCreate、FormResize、OnActivateの中に Form.Height:=548;をいれた
のは、このFormの高さが、他のウィンドウの中の孫ウィンドウを開いた後に
変化して小さくなるからです。
それを防止しようと入れたのですが、OnActivateの先頭に入れた
Form.Height:=548;は全く効果がありません。
FormCreateの中の最後に入れたものも効果が無いので、先頭に入れて数値を
548以外にしたらタイトルバーしか表示されません。なんで???
結局、効果があるのはFormResizeの最後に入れたものだけです。これも最後に入れた
時は効果があるのですが、先頭に入れると効果はありません。
これは今まで正常に作動しているPCで確認しました。
どうしたらいいのでしょうか??
よろしくお願いします。
おかしな方のPCでは、FormResizeの最後に入れたものはタイトルバーと枠が
消えるだけですが、先頭に入れると高さの異なる黒い影が交互に表示される
ように見えます。
結局、FormCreateの先頭に入れて、オブジェクトインスペクタのHeightで
設定した数値にしておけば、他のウインドウに入ったとも正常に表示される
ことが分かりました。
違う数値に数値にするとタイトルバーだけになるのは別スレにします。
最後に、ウェルカムぺージを起動時に表示させる方法を教えてください。
よろしくお願いします。
> このFormの高さが、他のウィンドウの中の孫ウィンドウを開いた後に
> 変化して小さくなるからです。
そもそもの設計に問題があるような
> おかしな方のPCでは、FormResizeの最後に入れたものはタイトルバーと枠が
> 消えるだけですが、
回答者の意見ちゃんと理解してます?
やってはいけないことをやってるからおかしな現象になってるだけですね。
ブレークポイントで止めて、ステップ実行すればわかります。
> 最後に、ウェルカムぺージを起動時に表示させる方法を教えてください。
そもそもウエルカムページって何?
ン
そもそも別々の質問ですから、分けて投稿するべきですね。
全然性質の違う質問だし、なぜ一つにまとめようとしたのかわかりません。
そしてそれぞれにちゃんと中身を表すタイトルを付けましょう……
「ウェルカムページ」というのは、
何もプロジェクトを指定せずにトを起動すると最初に表示されるリンク集みたいな画面ですね。
あれをもう一度見たいというだけなら、「表示」メニューの中から「ウェルカムページ」を選べばいいですけど。
最初に表示されないというのは、何らかのファイルを指定してそこからトを起動しているからじゃないでしょうか?
スタートメニューやデスクトップのショートカットから起動してもそうだというなら、起動時の引数設定が何らかの原因で変わってしまったのかもしれません。
デフォルトだと「ュト」オプションを付けて起動するよう登録されていると思いますが、プロパティで確認してみてください。
スススススススススススススススススススススススススススススススススススススススス
ニコ
トコ イーアカッーウッイオィ金ゥ ーケコウオコアケ 書込者ノト:ロ 」 ァ」ハノJ
ン
イ番目の問題に戻ると、やはりニメの中で
フォームのサイズに影響するような何らかの処理を行ってしまっているように聞こえますね。
そのため、サイズが変わる→ニメが呼ばれる→その中でサイズを変えたのでまたニメが呼ばれる→以下繰り返しヲサというループが起きているのでしょう。
なのでやることとしてはニメの処理内容を見直すことですが……
それ以前にコレ↓
ヲサヲサこのニの高さが、他のウィンドウの中の孫ウィンドウを開いた後に
変化して小さくなるからです。
この時点でとても普通ではないことが起きてますよ!ヲサさらっと書いてるけど異常事態じゃないですか!?
根本的にこっちの原因を追及した方がいいんじゃないんでしょうか。
と言うか、フォームのサイズが既定値以外に変わるのを阻止したいなら
それこそヲサヘネャヲサヘネヲサを使えばいいですね。
スススススススススススススススススススススススススススススススススススススススス
ニコ チモ
トコ イーアカッーウッイカィ土ゥ ーアコアアコアキ 書込者ノト:ロ 」。ァ。」 ン
さん、さんありがとうございます。
メの中ですが、自分では変なことをしているとは思わないのですが?
横方向には自由に変化させて、縦方向は変化させないようにしているつもりです。
ネの行を消しても縦方向に変化できないのです。
何か設定で高さの変化を行えないようにしているのかと思ってしまします。
他のことはまたいろいろ試してから投稿します。
イー年近くもやってても判らないことばかりで、いろいろとすみません。
ヲサヤトョニメィモコヲサヤマゥサ
ッッヲサヲサネコスイーーサ
ヲサヲサメナアョラヲサコスヲサトョテラュアーサ
ヲサヲサノアョラコストョテラサ
ヲサヲサトョテネコストネサ
ヲサヲサラトコスイカェィィノアョラュアイーゥッィイカェオゥゥサ
ッッヲサヲサトトョネコスオエクサ
サ
スススススススススススススススススススススススススススススススススススススススス
ニコ チモ
トコ イーアカッーウッイカィ土ゥ ーアコウイコウア 書込者ノト:ロ 」。ァ。」 ン
別のファームの中のフォームを立ち上げた後、ここに入ると高さが変化する
件です。入って何もしなくて閉じた後高さが変化するので関係するのは
マチだけだと思います。別におかしいことはしていません。そして
このフォームと同じ形のフォームがあとイ個あるのですが、それらに入った
後は高さは変化しません。
ヲサヤナョマチィモコヲサヤマゥサ
ヲサニホコサ
ヲサニホコストミォァワヘチョァサ
ヲサモヘチィニホゥサ
ヲサヘアョフョフニニィニホゥサ
ヲサアョサ
サ
スススススススススススススススススススススススススススススススススススススススス
ニコ
トコ イーアカッーウッイカィ土ゥ ーアコウウコイア 書込者ノト:ロ 「」「 ン
テラッテネヲサとヲサラッネヲサは互いに連動していて、
片方を変えるともう片方も変わるという関係にあるですよ。
(クライアント領域に枠線とかメニューとかのガワの分を足したのがウィンドウサイズになりますから)
ヲサヲサトョテネコストネ
これが問題なんじゃないですか?
トってのがヤトのインスタンスだとしたら、結局メイベントの中で自分をまたリサイズしてますよね。
というか、トというのもトトというのも全部、ヤトの別々のインスタンスなのでしょうか?
それだったら、ヤトの中の誰か一人を開くことで別の一人のサイズが変わるとか
一人だけサイズだかタイトルバーだかの挙動がおかしくなるというのも説明がつきそうですけど。
そして繰り返しになりますが
ヲサヲサ縦方向は変化させないようにしているつもりです
そういう目的なら、ヘネとヘネを使った方が簡単確実ですよ。
スススススススススススススススススススススススススススススススススススススススス
ニコ チモ
トコ イーアカッーウッイカィ土ゥ ーイコアカコイー 書込者ノト:ロ 」。ァ。」 ン
ヘとヘネを両方ともオエクにすると、全ての問題が解決しました。
ニテの先頭に入れて、オブジェクトインスペクタのネで設定
した値と違う数値を入れても、タイトルバーだけになる現象も消えました。
高さが変化する現象は長年悩んでいた現象ですが、頻度は少ないし、
高さが変化したフォームを消して、もう一度呼び出すと正常になっていた
のでずっと我慢していました。プログラムもほぼ完成して、バグ取りを
しようとしてネコスオエクサを入れたのですが、それがさらにバグを作った
ようですね。
原因も知りたいとは思いますが、今はこれで満足とします。
本当にありがとうございました。
ツトモのウエルカムページはこれから調べますが、ショートカットのプロパティ
を見たらいいんですか?
スススススススススススススススススススススススススススススススススススススススス
ニコ チモ
トコ イーアカッーウッイカィ土ゥ ーイコウカコーキ 書込者ノト:ロ 」。ァ。」 ン
ヲサテラッテネヲサとヲサラッネヲサは互いに連動していて、
ヲサヲサ片方を変えるともう片方も変わるという関係にあるですよ。
ヲサヲサ(クライアント領域に枠線とかメニューとかのガワの分を足したのがウィンドウサイズになりますから)
そうなんですか。知らないで使っていました。
トネはトョテネを記憶しておく変数です。ニテで代入しています。
手動でフォームの大きさ変えたとき元に戻すために使っています。
ありがとうございました。
スススススススススススススススススススススススススススススススススススススススス
ニコ チモ
トコ イーアカッーウッイカィ土ゥ ーウコウイコウオ 書込者ノト:ロ 」。ァ。」 ン
メにネコスオエクサという文が無いのに高さを変えることができないのが
不思議でした。トョテネコストネの文があるから高さを変えることが
出来なかったのですね。
一つ納得がいきました。
はフォームを消去していないとか??
もう一度フォームを呼び出したときマテは通過しないとか??
ってあるのでしょうか??
スススススススススススススススススススススススススススススススススススススススス
ニコ 通りすがり
トコ イーアカッーウッイキィ日ゥ アオコウアコエク 書込者ノト:ロ ァ。。 ン
ヨョニョヤテニョテヲサュヲサメチトヲサモヲサチミノヲサト
コッッョョッフッリナオッッヨョニョヤテニョテ
ヲサヲサテヲサは,フォームを閉じます。ヲサ
とは書いてありますが、破棄しますとは書いていませんな。
フォームを呼び出す?説明不足な言葉ですが、モィモヘゥで表示状態にすると言うことであれば、フォームそのものは既に
生成済でしょうから
ヨョニョヤテニョマテヲサュヲサメチトヲサモヲサチミノヲサト
コッッョョッフッリナオッッヨョニョヤテニョマテ
ヲサヲサフォームを作成したときに発生します。ヲサ
の通りで、マテは呼び出されるはずもありません。マテが呼び出されるのは明示的ィニアヲサコスヲサヤニアョティョョョゥゥ、
あるいは暗黙的ィプロジェクトのオプションでフォームを自動生成対象にしてあって、プロジェクトソースィェョゥで
チョテニィヤニアャニアゥという行を実行ゥにフォームが生成されたときです。
全般にオブジェクト指向プログラミングの知識が不足しているようですので、そのあたりを意識して調べるとよいのではないでしょうか。
スススススススススススススススススススススススススススススススススススススススス
ニコ チモ
トコ イーアカッーウッイキィ日ゥ イイコアーコエエ 書込者ノト:ロ 」。ァ。」 ン
通りすがりさん、ありがとうございます。
とにかく、プログラムを作ることだけやってきていますので、
基本的なことが理解できていないのですね。
早速、試してみます。
誰かウエルカムページが起動時にだす方法をご存じないですか??
スススススススススススススススススススススススススススススススススススススススス
ニコ 通りすがり
トコ イーアカッーウッイクィ月ゥ ーーコアオコーオ 書込者ノト:ロ ァ。。 ン
ロヲサノトナヲサのウェルカムページを非表示にするヲサンヲサュヲサヘョリメチル
コッッョョョットッマッノトナ゜ラミョ」ーア
スススススススススススススススススススススススススススススススススススススススス
ニコ チモ
トコ イーアカッーウッイクィ月ゥ アクコウケコオキ 書込者ノト:ロ 」。ァ。」 ン
通りすがりさん、ありがとうございます。
今ちょっと読みましたが、レジストリ操作なんかしたことも聞いたことないことなので、
暫く研究してみます。
スススススススススススススススススススススススススススススススススススススススス
ニコ チモ
トコ イーアカッーウッイクィ月ゥ アケコエウコエイ 書込者ノト:ロ 」。ァ。」 ン
通りすがりさん、せっかく教えて頂きましたが、
すでに規定値のァモヲサミヲサヤトナヲサミァになっています。
念のために前に゜を付けてみましたが、だめでした。
どちらでも、ウエルカムページは表示されません。
それで、の修復とか言うのをしましたが、やはり表示されませんでした。
この年になって、新たなことを学ぶことができました。
ありがとうございました。
全部再インストールしてみるつもりです。
スススススススススススススススススススススススススススススススススススススススス
ニコ チモ
トコ イーアカッーウッイクィ月ゥ イイコエオコイカ 書込者ノト:ロ 」。ァ。」 ン
モコ
再インストールしたら何とか表示できるようになりました。
皆さん、ありがとうございました。
ツイート | ![]() |