Lazarus - Problemas com código

Iniciado por Evandro Abu Kamel, 12 de Maio de 2007, 16:42

tópico anterior - próximo tópico

Evandro Abu Kamel

Estou fazendo um sistema de lan house, até criei um tópico aqui sobre ele.

Mas surgiu um pequeno problema: o 'ShowModal' está dando erro.
Criei um botão no formulário principal e dentro dele coloquei o código:


procedure TfrmMain.BtnInf1Click(Sender: TObject);
begin
  frmMaq.showmodal;
end;


'frmMaq' é um pequeno formulário que criei contendo uma infiormações.
Quando mando compilar aparecem as seguintes mensagens:


umain.pas(275,3) Error: Identifier not found "frmMaq"
umain.pas(275,19) Error: Illegal expression
umain.pas(283) Fatal: There were 2 errors compiling module, stopping


Em Project Options coloquei o 'frmMain' como Auto-Create e o frmLogin e frmMaq como Avaliable.
Junto com o código inserido no arquivo de projeto:


begin
  Application.Initialize;
  frmLogin := tfrmLogin.Create(application);
  frmLogin.showmodal;
  Application.CreateForm(TfrmMain, frmMain);
  frmLogin.hide;
  frmLogin.Free;
  Application.Run;
end.


O programa abre primeiro o formulário de login e depois ele abre o principal.

Então é isso, o 'frmMaq' não quer aparecer com o showmodal inserido no botão.
Alguém faz idéia do que seja?

Agradeço.


ginho

Evandro, não agüentei e quero tirar uma dúvida com você.
Colocou:
Citarcoloquei o 'frmMain' como Auto-Create
e aqui
CitarApplication.CreateForm(TfrmMain, frmMain);
quando você já esta na frmMain e clica sobre o botão para chamar a frmMaq que tem em seu conteúdo
Citarbegin
  Application.Initialize;
  frmLogin := tfrmLogin.Create(application);
  frmLogin.showmodal;
  Application.CreateForm(TfrmMain, frmMain);
  frmLogin.hide;
  frmLogin.Free;
  Application.Run;
end.

Estaria tentando recriar a frmMain ou o conteúdo anterior não é da frmMaq?
Entendi ?

Evandro Abu Kamel

#2
Não, esse bloco maior é do arquivo .lpr .
Ele auto-cria o frmMain, mas antes chama o frmLogin.
Acho que é assim que funciona.  :P

Tô achando que o problema é com o 'showmodal'.
Criei um outro programinha inútil só pra testar ele e não deu certo, deu o mesmo erro.
No Delphi 2006 funciona...