Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Jao Ace

ShowModal no delphi 2009

Recommended Posts

olá, mudei do delphi 7 a pouco tempo para o 2009,

 

quando crio 2 forms, e tento linkalos através de um menu, ele diz que não funciona essa opçao!

 

 

Criando um About,

 

 

menu > about

 

 

código do menu about,

 

 

 

procedure TFrm_graficador.Sobre1Click(Sender: TObject);

begin

 

Sobre.ShowModal; (aqui, não funciona)

 

end;

 

end.

 

 

qual seria o código correto para usar Show e ShowModal no delphi 2009?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aparece alguma mensagem de erro? Você já criou o form Sobre antes de chamar o showmodal?

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nunca trabalhei com o 2009, mas o comando deve ser esse mesmo.

 

Caso ja tenha criado o form de "about" veja se ele esta no auto creat. Se sim deveria funcionar

 

Caso não esteja lá você deve criar ele na chamada.

 

ex:

 

procedure TFrm_graficador.Sobre1Click(Sender: TObject);
begin
  Application.CreateForm(TSobre, Sobre);  
  Sobre.ShowModal; 
end;

Senão posta o erro que a gente tenta ajudar

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa noite a todos.

 

A primeira coisa que voce tem que reparar é se o Form Principal onde voce tenta abrir o Form Sobre está utilizando a Unit do Form Sobre na seção Uses, assim:

 

unit Principal

 

interface

 

uses

Windows, Forms, SysUtils, Graphics, ........, Sobre;

A segunda coisa é que se a sua aplicação for SDI (Single Documents Interface - Interface de Único Documento), então o método ShowModal dos Forms funcionarão sem problemas, entretanto, se a sua aplicação for MDI (Multiple Documents Interface - Interface de Multiplos Documentos), o método ShowModal só funcionará se a propriedade FormStyle estiver ajustada para fsNormal, caso esteja ajustada para fsMDIChild, não funcionará, isto porque em aplicações MDI, como o próprio nome já diz, uma Interface (Form) pai tem que gerenciar e abrir várias outras Interfaces (Forms) que são os Forms filhos, o que aconteceria se cada form fosse aberto com o foco travado nele, voce não conseguira setar o foco nos demais forms abertos na aplicação e então perderia o sentido MDI. Apesar de um Sistema MDI permitir adicionar forms com o FormStyle = fsNormal, tem que se ter o cuidado para não adicionar muitos deles em um sistema MDI.

 

Um Abraço.

 

Jorge da Silva Abreu

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.