Function CarregaForm(TNameForm :TClass):Boolean;
Oi estou tentando executar essa função mas o delphi da o seguinte erro.
[Pascal Error] UFuncoesControle.pas(528): E2007 Constant or type identifier expected
penso q existe uma maneira melhor, mas a idéia eh com 1 linha sempre executar a mesma função para carregar os forms
ps. eh uma aplicação MDI
Obrigado pela atenção t+ :)
[Pascal Error] UFuncoesControle.pas(528): E2007 Constant or type identifier expected
penso q existe uma maneira melhor, mas a idéia eh com 1 linha sempre executar a mesma função para carregar os forms
ps. eh uma aplicação MDI
Obrigado pela atenção t+ :)
Function CarregaForm(TNameForm :TClass):Boolean; var NameForm :TNameForm; begin try Screen.Cursor:=crHourGlass; NameForm := TNameForm.Create(NameForm); NameForm.WindowState := wsNormal; NameForm.Visible:=True; NameForm.Setfocus; Screen.Cursor:=crDefault; Result:=True; finally Result := False; end; end;
Silvagpe
Curtidas 0
Respostas
Massuda
13/12/2007
Falta por uma unit no uses da sua unit UFuncoesControle.pas. Pode ser a Windows, mas você precisa dizer em qual das linhas que você mostrou o erro ocorre.
GOSTEI 0
Silvagpe
13/12/2007
o erro ocoreu na linha - > var NameForm :TNameForm;
e a unit esta adicionada ao projeto.
e a unit esta adicionada ao projeto.
GOSTEI 0
Massuda
13/12/2007
Function CarregaForm(TNameForm :TClass):Boolean;
var NameForm :TNameForm;
Se você não errou na digitação, o compilador imagina que TNameForm é um parametro da CarregaForm do tipo TClass, logo a linha seguinte não faz sentido.GOSTEI 0
Silvagpe
13/12/2007
Vou tentar explicar melhor a situação
Hj as chamas de forms no sistema são feita da seguinte maneira:
mas a idéia era criar uma função onde pude-se simplificar e tmb avisar caso o form não seja carregado, então fiz a seguinte alteração.
Codigo da Chamada :
Codigo da Função
aki está o problema a função não esta correta e preciso de ajuda para finalizar ela.
:)
Hj as chamas de forms no sistema são feita da seguinte maneira:
procedure TFrmPrincipal.OrdemServicoClick(Sender: TObject); begin Screen.Cursor:=crHourGlass; FrmOrdemServicoConfeccao:=TFrmOrdemServicoConfeccao.Create(self); FrmOrdemServicoConfeccao.WindowState:= wsNormal; FrmOrdemServicoConfeccao.Visible:=True; FrmOrdemServicoConfeccao.Setfocus; Screen.Cursor:=crDefault; end
mas a idéia era criar uma função onde pude-se simplificar e tmb avisar caso o form não seja carregado, então fiz a seguinte alteração.
Codigo da Chamada :
procedure TFrmPrincipal.OrdemServicoClick(Sender: TObject); begin if not CarregaForm(TFrmOrdemServicoConfeccao) then ShowMessage(´Formulário não pode ser carregado´); end
Codigo da Função
Function CarregaForm(TNameForm :TClass):Boolean; var NameForm :TNameForm; begin try Screen.Cursor:=crHourGlass; NameForm := TNameForm.Create(NameForm); NameForm.WindowState := wsNormal; NameForm.Visible:=True; NameForm.Setfocus; Screen.Cursor:=crDefault; Result:=True; finally Result := False; end; end;
aki está o problema a função não esta correta e preciso de ajuda para finalizar ela.
:)
GOSTEI 0
Silvagpe
13/12/2007
vlw a ajuda jah consegui resolver ^^
Procedure CarregaForm(NameForm :TForm; Classe:TFormClass); var Found, I:Integer; begin Found := -1; for I := 0 to Screen.FormCount - 1 do if Screen.Forms[I] is Classe then Found := I; if Found>=0 then Screen.Forms[Found].Show else begin try Screen.Cursor:=crHourGlass; NameForm := Classe.Create(Application); NameForm.WindowState := wsNormal; NameForm.Visible:=True; NameForm.Setfocus; Screen.Cursor:=crDefault; except ShowMessage(´Formulário não pode ser carregado.´); end; end; end;
GOSTEI 0