コードの 2 つのコピーを調べています。1 つは myForm.Hide で、もう 1 つは myForm.Visible := False です。なぜこれを変更したのか、バグ修正だったのか、それとも違いがあるのか まったく思い出せません。
質問する
14954 次
2 に答える
15
に違いはありませんHide
。VCL コードは次のとおりです。
procedure TCustomForm.Hide;
begin
Visible := False;
end;
しかしShow
、少し異なります:
procedure TCustomForm.Show;
begin
Visible := True;
BringToFront;
end;
于 2011-03-25T18:45:52.230 に答える
5
Delphi コードの古さ、およびそれがどれだけ遡るかによって異なります。Form.Hide at a time (Win95/2000) は、フォームとそのタスクバー アイコンを非表示にしますが、もう一方は非表示にします。もちろん、Delphi の問題を修正するためのパッチなどがいくつかあり、特定のビデオ カードやカラー パレットでは、フォームを非表示にする方法を検討する必要がありました。(私は私の年齢を示しています)。ハードウェアの問題の原因でフォームを画面から隠すためだけにフォーム Left を大きな負の数に設定するコードを見てきました (Delphi 1-3 は本当にハードウェアに敏感でした)。
また、Delphi 3/4 のあたりで、MDI アプリケーションで非表示の代わりに最小化を使用すると、メモリ リークが発生しました (そのため、MDI フォーム上でフォームをドッキングする PAgecontrol を使用しました)。したがって、非常に古いコードを見ている場合、それらは重要です。Delphi 6 以降でコンパイルしている場合、違いはありません。
于 2011-03-25T18:51:19.480 に答える