[Delphi] Form.Show vs Form.ShowModal

Form.Show vs Form.ShowModal

Sim, existe diferença. Vamos nos aprofundar um pouco mais e destacar a principal diferente entre os dois.

Você sabe exatamente o que acontece por trás do ShowModal que o torna diferente do Show? Inicialmente temos os tipos de cada método que diferem entre si. O ShowModal é uma function que retorna um integer e o Show, por sua vez, é uma procedure, logo, não conta com um resultado.

Ao criarmos um novo formulário partindo do menu “File -> New -> VCL Form” o RAD Studio cria um novo formulário com base em um template. Esse novo formulário em branco herda da classe TForm. Essa classe, a TForm, herda de uma outra classe chamada TCustomForm.

O método Show está implementado na classe TCustomForm

Podemos invocar o método Show graças ao recurso de herança oferecido pela Programação Orientada a Objetos. O Show contém uma implementação bastante simples. Ele apenas altera a visibilidade do formulário para true e invoca o método BringToFront para dar o foco da aplicação ao recém “visível” formulário.

Continue lendo “[Delphi] Form.Show vs Form.ShowModal”