Alterar o MainForm em tempo de execução

Delphi

17/10/2005

Boas, to penando aqui pra resolver o seguinte problema..

Qndo inicio a minha aplicação eu crio primeiramente os datamodules, porem quando nao existe uma conexao com o bd configurada eu exibo uma tela pro cara criar a conexao e depois disso continuo a criacao dos forms(splash, login, etc...)

mas o problema eh o seguinte..quando eu crio esse form para configurar a conexao, a aplicacao entende que o meu MainForm eh esse form e nao o meu form principal, aih ferra tudo..
nao sei como fazer para informar que o meu mainform eh o frmX por exemplo..

alguem pode me ajudar?

agradeco desde ja,

abracos


Saint

Saint

Curtidas 0

Respostas

Massuda

Massuda

17/10/2005

...quando eu crio esse form para configurar a conexao, a aplicacao entende que o meu MainForm eh esse form e nao o meu form principal...
Não crie esses forms (configuração do BD, login, splash, etc) usando Application.CreateForm... use algo assim...
SeuForm := TSeuForm.Create(nil);
...deixe o Application.CreateForm para os forms criados automaticamente pelo Delphi; o form principal do programa será o primeiro form criado usando Application.CreateForm.


GOSTEI 0
Saint

Saint

17/10/2005

blza, eu testei aqui e funcionou..
valeu velho, e assim..soh pra constar, eu tava pesquisando aqui e encontrei isso:

procedure SetMainForm(FormAtivo:TForm)
var TmpMain: ^TCustomForm;
begin
TmpMain := @Application.Mainform;
TmpMain^ := FormAtivo;
end;

isso funcionou tb..

valeu ae..
abraco


GOSTEI 0
Alex Sousa

Alex Sousa

17/10/2005

Cara, você poderia explicar o código?
Aguardo retorno!
GOSTEI 0
POSTAR