Erro na chamada do form

Delphi

02/03/2009

Está dando erro nesse código, dizendo que o frmDetalhe é um Undeclared Identifier, mas ele mesmo adicionou a unit desse form. O que pode estar errado?(Pra mim nada)
procedure TfrmRelGerencialMT.BitBtn1Click(Sender: TObject);
begin
  frmDetalhe := TfrmDetalhe.Create(Self);
  frmDetalhe.Show;
end;



Paulo

Paulo

Curtidas 0

Respostas

Felipe_b350

Felipe_b350

02/03/2009

Entaum...
nos meus Projetos eu usso o seguinte.

[b:48ec8b9896]Form.showmodal;[/b:48ec8b9896]

ou

[b:48ec8b9896]Form.show;[/b:48ec8b9896]

v c dah certo.


GOSTEI 0
Jose Luiz

Jose Luiz

02/03/2009

Colega..

Coloque o form em avaliable.

chame dessa forma:

begin
try
frmCliente:=TFrmCliente.Create(Application);
frmCliente.ShowModal;
Finally
frmCliente.Free;
end;
end;

sem chance de dar erro..


Até..

Jose luiz


GOSTEI 0
Discorpio

Discorpio

02/03/2009

Bom dia a todos.

O erro é uma coisa bem simples.

Voce declarou a Unit do Form frmDetalhe na seção Uses no Form de onde voce o invoca :?:


Uses Detalhe    // onde Detalhe é o nome da Unit do Form frmDetalhe



Se assim o não fizer, a instância frmDetalhe que está declarada globalmente na Unit Detalhe não será enxergada no Form atual.


GOSTEI 0
Paulo

Paulo

02/03/2009

Não é este o problema. Este post foi para tentar descobrir porque o del´phi faz isso. Eu removi o Form e coloquei outro e funcionou. Só queria saber o que acontece internamente com o delphi que ´trava´ certas coisas e não tem como mas fazer. O Form o tenho até agora. Fiz um projeto de teste e coloquei adicionei esse form e continua dando o mesmo problema, Só queria entender o que acontece dentro do delphi. O erro não está na chamada e até mesmo, caso alguém esquece de adicionar a Unit do Form na uses e se esse form estiver no projeto, o próprio Delphi não deixará passar. Ele(delphi) imediatamente traz uma mensagem pedidndo para adicionar o Form e etc... Só queria saber o q acontece com o delphi e não é a primeira vez comigo e conheço muita gente q aconteceu o mesmo. grato a todos!!!


GOSTEI 0
Marco Salles

Marco Salles

02/03/2009

Desculpa paulo , mas não ta dando para entender nada do que vd
escreveu :

Este post foi para tentar descobrir porque o del´phi faz isso.

Faz o que ???

Só queria saber o que acontece internamente com o delphi que ´trava´ certas coisas e não tem como mas fazer.

Internamente relativo a qual situação ???

O Form o tenho até agora


Fiz um projeto de teste e coloquei adicionei esse form e continua dando o mesmo problema, Só queria entender o que acontece dentro do delphi.

Adiciona o Form ??? Ou a Unit que contem o Form ??
Vc adiciona No Projeto < Add Projects >
Pelo Objeto Repository ??

O erro não está na chamada

Não ira dar erro na chamada , mas passar self como Proprietário não é
indicado pelos grandes mestre que escrevem , a não ser que este form
tenha o tempo de vida igual a da Aplicação. E Tb não use o a Criação dentro do Try

Try 
Cria
Mostra
Finaliza
Destroe


Esta Estrutura esta Errada ... O CERTO é assim :
Cria
Try
Mostra
Finaliza
Destroe



caso alguém esquece de adicionar a Unit do Form na uses e se esse form estiver no projeto, o próprio Delphi não deixará passar. Ele(delphi) imediatamente traz uma mensagem pedidndo para adicionar o Form e etc..

Isto eu entende e concordo

Só queria saber o q acontece com o delphi e não é a primeira vez comigo e conheço muita gente q aconteceu o mesmo.


Vc poderia mostrar um exempo passo a passo para que possamos testar
e entender o que vc esta dizendo com tudo isto..

Obrigado


GOSTEI 0
Wanderson Santos

Wanderson Santos

02/03/2009

Está dando erro nesse código, dizendo que o frmDetalhe é um Undeclared Identifier, mas ele mesmo adicionou a unit desse form. O que pode estar errado?(Pra mim nada)
procedure TfrmRelGerencialMT.BitBtn1Click(Sender: TObject);
begin
  frmDetalhe := TfrmDetalhe.Create(Self);
  frmDetalhe.Show;
end;






A Solução é simples, provavelmente na criação deste formulario retirou a váriavel global dela. Exemplo Abaixo

unit uformStatus;

interface

uses
MIDASLIB,Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;

type
Tformstatus = class(TForm)
Panel1: TPanel;
lbl1: TLabel;
lblStatus: TLabel;
private
{ Private declarations }
public
{ Public declarations }
end;



//Provavelmente retirou ou não existe este trecho observe no seu código.
//*************************************************************************


var
formstatus: Tformstatus;



//*************************************************************************



implementation

{$R *.dfm}

end.
GOSTEI 0
POSTAR