onde que eu declaro

Delphi

09/01/2015

como vai pessoa ?

no meu projeto tem esse erro [Error] UPrincipal.pas(201): Undeclared identifier: 'TfCadfornecedor' o que eu faço ,onde eu declaro embaixo vou colocar o código :



unit UPrincipal;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Menus, ToolWin, ComCtrls, Db, ADODB, StdActns, DBActns, ComObj, ActnList, jpeg,
ExtCtrls, ImgList, DBTables, StdCtrls,UCadfornecedor;

const
kImagemAno = 'F:\POLITEC\LOGOTIPO\ImagemAno.jpg'; // 20.01.2005 - ecm

type
TFPrincipal = class(TForm)
Menu: TMainMenu;
ConexaoBD: TADOConnection;
Sistema1: TMenuItem;
Cadastros1: TMenuItem;
Image1: TImage;
Image2: TImage;
ImageList1: TImageList;
Sair1: TMenuItem;
Softwares1: TMenuItem;
Suporte1: TMenuItem;
Revises1: TMenuItem;
Consultas1: TMenuItem;
Cadastros2: TMenuItem;
Relatrios1: TMenuItem;
ListagemGeral1: TMenuItem;
qGeral: TADOQuery;
SoftwaresInstalados1: TMenuItem;
CarregaSoftwares1: TMenuItem;
Externa1: TMenuItem;
PopupMenu1: TPopupMenu;
Fornecedor1: TMenuItem;
procedure FormShow(Sender: TObject);
procedure Sair1Click(Sender: TObject);
procedure Suporte1Click(Sender: TObject);
procedure Revises1Click(Sender: TObject);
procedure Softwares1Click(Sender: TObject);
procedure Cadastros2Click(Sender: TObject);
procedure ListagemGeral1Click(Sender: TObject);
procedure SoftwaresInstalados1Click(Sender: TObject);
procedure CarregaSoftwares1Click(Sender: TObject);
procedure Externa1Click(Sender: TObject);
procedure ScrollBar1Change(Sender: TObject);
procedure fornecedor1Click(Sender: TObject);
procedure cadfornecedor1Click(Sender: TObject);


private
{ Private declarations }
public
{ Public declarations }
end;

var
FPrincipal: TFPrincipal;
nLogFail : integer;
lAbort, lsoftinv : boolean;
cUsuario, cSenha, cSchema, cPassword : string;
excel :variant;
i : integer;

implementation

uses UAtendimento, uRevisao, uCadSoft, uCadInventario, UnLogin, uInvSoft,
uManutExterna;

{$R *.DFM}

procedure TFPrincipal.FormShow(Sender: TObject);
begin
lsoftinv := false;
frmLogin := TfrmLogin.Create(self);
frmLogin.ShowModal;
If lAbort then
Application.Terminate;
Image2.Picture.LoadFromFile(kImagemAno);
ConexaoBd.Open;
If lsoftinv = true then
begin
Application.CreateForm(TfInvSoft, fInvSoft);
fInvSoft.ShowModal;
fInvSoft.Release;
end;
end;

procedure TFPrincipal.Sair1Click(Sender: TObject);
begin
Close;
end;

procedure TFPrincipal.Suporte1Click(Sender: TObject);
begin
FAtendimento := TFAtendimento.Create(Self);
FAtendimento.ShowModal;
FAtendimento.Release;
end;

procedure TFPrincipal.Revises1Click(Sender: TObject);
begin
Application.CreateForm(TfRevisao, fRevisao);
fRevisao.ShowModal;
fRevisao.Release;
end;

procedure TFPrincipal.Softwares1Click(Sender: TObject);
begin
Application.CreateForm(TfCadSoft, fCadSoft);
fCadSoft.ShowModal;
fCadSoft.Release;
end;

procedure TFPrincipal.Cadastros2Click(Sender: TObject);
begin
Application.CreateForm(TfCadInventario, fCadInventario);
fCadInventario.ShowModal;
fCadInventario.Release;
end;


procedure TFPrincipal.ListagemGeral1Click(Sender: TObject);
begin
excel := CreateOleObject('excel.application\');
If not Excel.Application.Visible then
Excel.Application.Visible := true;
Excel.WorkBooks.Add;
Excel.WorkBooks[1].Sheets[1].Cells[1,1] := 'Patrimonio';
Excel.WorkBooks[1].Sheets[1].Cells[1,2] := 'Descrição do Equipamento';
qGeral.Close;
qGeral.SQL.Clear;
qGeral.SQL.Add('Select i.*, a.palavrachave From Inventario i, computadores a where i.patrimonio = a.patrimonio ' +
' UNION ' +
' Select i.*, a.palavrachave From Inventario i, equipamentos a where i.patrimonio = a.patrimonio');
qGeral.Open;
i := 2;
while not qGeral.Eof do
begin
Excel.Cells[i,1] := qGeral.FieldByName('patrimonio').AsString;
Excel.Cells[i,2] := qGeral.FieldByName('palavrachave').AsString;
inc(i);
qGeral.Next;
end;
ShowMessage('A Consulta está pronta!');
end;

procedure TFPrincipal.SoftwaresInstalados1Click(Sender: TObject);
var
patr, maq : string;
begin
excel := CreateOleObject('excel.application\');
If not Excel.Application.Visible then
Excel.Application.Visible := true;
Excel.WorkBooks.Add;
Excel.WorkBooks[1].Sheets[1].Cells[1,1] := 'Patrimônio';
Excel.WorkBooks[1].Sheets[1].Cells[1,2] := 'Computador';
Excel.WorkBooks[1].Sheets[1].Cells[1,3] := 'Software Instalado';
qGeral.Close;
qGeral.SQL.Clear;
qGeral.SQL.Add('select b.patrimonio, b.nome_maquina, c.nome_software from comp_soft a, computadores b, software c ' +
' where a.id_computador = b.id and a.id_software = c.id order by b.patrimonio, c.nome_software');
qGeral.Open;
i := 2;
patr := '';
maq := '';
while not qGeral.Eof do
begin
If patr <> qGeral.FieldByName('patrimonio').AsString then
begin
patr := qGeral.FieldByName('patrimonio').AsString;
Excel.Cells[i,1] := qGeral.FieldByName('patrimonio').AsString;
end;
If maq <> qGeral.FieldByName('nome_maquina').AsString then
begin
maq := qGeral.FieldByName('nome_maquina').AsString;
Excel.Cells[i,2] := qGeral.FieldByName('nome_maquina').AsString;
end;
Excel.Cells[i,3] := qGeral.FieldByName('nome_software').AsString;
inc(i);
qGeral.Next;
end;
ShowMessage('A Consulta está pronta!');
end;

procedure TFPrincipal.CarregaSoftwares1Click(Sender: TObject);
begin
Application.CreateForm(TfInvSoft, fInvSoft);
fInvSoft.ShowModal;
fInvSoft.Release;
end;

procedure TFPrincipal.Externa1Click(Sender: TObject);
begin
Application.CreateForm(TfManutExterna, fManutExterna);
fManutExterna.ShowModal;
fManutExterna.Release;
end;
procedure TFPrincipal.fornecedor1Click(Sender: TObject);
begin
Application.CreateForm(TfCadfornecedor , fCadfornecedor); <<<<<<<<<<<<<<O ERRO DÁ AQUI ENTRE OS ()
fCadfornecedor.ShowModal;
fCadfornecedor.Release;
end;

end.
Murilo Alves

Murilo Alves

Curtidas 0

Respostas

Ronaldo Lanhellas

Ronaldo Lanhellas

09/01/2015

No uses do implementation, assim:

implementation

uses UAtendimento, uRevisao, uCadSoft, uCadInventario, UnLogin, uInvSoft,
uManutExterna, TCadfornecedor;
GOSTEI 0
Marisiana Battistella

Marisiana Battistella

09/01/2015

Se não me engano, existe uma opção no menu do Delphi que se chama "Uses Unit".
No Form que vc está declarando o fomulário de Fornecedor, procura nos menus principais esse submenu "Uses Unit"...
Ali vc tem que encontrar o TCadfornecedor e adicionar...
Depois de realizado isso, vai aparecer o nome da unit q vc acrescentou no "Uses" do form Principal, como consta no exemplo q o Ronaldo postou.
GOSTEI 0
Jiraya San

Jiraya San

09/01/2015

Respondido em:

[url]https://www.devmedia.com.br/forum/error-undeclared-identifier-tfcadfornecedor/506755[/url]
GOSTEI 0
Marisiana Battistella

Marisiana Battistella

09/01/2015

Conseguiu solucionar Murilo?
GOSTEI 0
Murilo Alves

Murilo Alves

09/01/2015

não dá de novo esse erro continua o mesmo erro
GOSTEI 0
Murilo Alves

Murilo Alves

09/01/2015

Desculpa está diferente agr [Fatal Error] UPrincipal.pas(66): File not found: 'tcadfornecedor.dcu' ,mais tem o arquivo a agr?
GOSTEI 0
Marisiana Battistella

Marisiana Battistella

09/01/2015

Mas vc conseguiu adicionar a Unit? Verificou se aparece o nome dela como o Ronaldo passou no exemplo?
GOSTEI 0
POSTAR