全てが縮んでしまった


BCT  2005-07-12 20:50:39  No: 16312

突然フォーム上のものが、全て縮んでしまいました。
まるで画像を小さくしたかのような変化です。

・フォームの大きさ
・フォーム上のコンポーネントの大きさ
・コンポーネント上のフォントの大きさ

「scaleby」というメソッドがあるようですが、こちらは使っていません。
なぜ起こったのか?  簡単に元に戻す方法があるのか?
以上、よろしくお願いします。


123  2005-07-13 18:38:56  No: 16313

いろんな原因があると思います、まずは環境を提示しなくては。


じゃん  2005-07-14 06:05:58  No: 16314

たまに体験しました。
xxxx.dfm を  xxxx.~dfm  から復元。


BCT  2005-07-15 19:52:38  No: 16315

返信遅くなりました。
環境ですが、Delphi4 + UP3
XP Pro SP2・Celeron2.4G・512RAM・Intel 82845シリーズです。
今のところ一回きりなので、原因に心当たりがない状態です。

> xxxx.dfm を  xxxx.~dfm  から復元。
まだ駆け出しなもんで、DFMファイルには触れた事がありません。
プロジェクトを開く際に、なにか起こるんですかね・・・


deldel  2005-07-15 23:56:17  No: 16316

ここに似ている???
https://www.petitmonte.com/bbs/answers?question_id=2936


じゃん  2005-07-17 18:44:47  No: 16317

俺も
昨日も発生。
ちょくちょく忘れた頃に発生するけど、原因不明。
だから発生に気づいたときに、何もさわらずに
xx.dfmをxxYY.dfmとかにして xx.~dfm を xx.dfm  にすると
前回時にもどる。


みみ  2005-09-01 19:47:15  No: 16318

deldelさんの元記事を書いたみみです。
先日、また発生しました。
私の発生した現象は、フォームの大きさだけです。
中身は縮んでいませんし、フォントが変わると言うこともありませんでした。
保存されたdfmの値が既に変わっている気がします。
delphiを起動したままで何度もビルドする度に大きさが変わったこともあったので、
それを考えると保存する前のメモリ上で持っている(?)プロパティの値が何かを契機に変わってしまうんだと思います。

ところで、xx.~dfmってどこに作成されるのですか?
delphi2005 pro ですが、_history の中に xxxx.dfm.~11~ とか
できていますが、
これのことなのでしょうか?
中身は確かにdfmの内容ですが、~n~は順に履歴になっているだけなのかな。


enum  2005-09-01 20:56:00  No: 16319

2005は分かりませんが、「.~dfm」や「.~pas」は、「.dfm」や「.pas」のバックアップなので、じゃんさんの方法で直るとは思います。
俺はそのような現象を体験してないので原因は分かりませんが。


みみ  2005-09-30 05:51:51  No: 16320

フォームのプロパティをいろいろいじっていた結果、フォームのBorderStyleがbsSingleとかになっていると、読み込んだときにフォームのサイズが変わってしまうように思います。bsSizeableだとフォームのサイズは変化しませんでした。
でも、サイズ固定にしたいということもあるので、これだと困ってしまいます。MaxHeightやらMinHeight、MaxWidth、MinWidthを設計時サイズにしるのもありですが、実行時にサイズ変更の←→が出てしまうのがちょっと。。。と思っています。
ほかの皆さんはいかがですか?


ふむ  2005-09-30 17:25:30  No: 16321

そういう現象には遭遇したコトありませんが・・・
いちおう、これでBorderStyle=bsSizeableでも、BorderStyle=bsSingle同様
フォームサイズが変更できなくなります。
コノヨウナふぉーむがガ、タイリョウニアルト、タイヘンデスガ・・・。

  public
    procedure CreateParams(var aParams: TCreateParams); override;

implementation

procedure THogeHoge.CreateParams(var aParams: TCreateParams);
begin
  inherited CreateParams(aParams);
  aParams.Style := aParams.Style AND (not WS_THICKFRAME) or WS_BORDER;
end;


みみ  2005-10-03 20:55:43  No: 16322

ありがとうございます。
早速やってみました。期待通りです。

ちなみに、bsSingleが悪いのかなぁ〜と思います。bsDialogでは何ともありませんし。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加