Uilian 0 Denunciar post Postado Setembro 26, 2008 Estou com o seguinte erro: [Error] UfrmCadSetor.pas(57): Undeclared identifier: 'btnInserir' Pelo que ví é algum erro de declaração... alguém tem a luz? rsss unit UfrmCadSetor; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, DBCtrls, StdCtrls, Buttons, DB, Mask; type TfrmCadSetor = class(TForm) Panel1: TPanel; Panel2: TPanel; Label1: TLabel; Label2: TLabel; DBEdit2: TDBEdit; Label3: TLabel; DBEdit3: TDBEdit; DBNavigator1: TDBNavigator; btnInserir: TBitBtn; btnEditar: TBitBtn; btnRemover: TBitBtn; btnCancelar: TBitBtn; btnConfirmar: TBitBtn; btnSair: TBitBtn; DBText1: TDBText; procedure btnSairClick(Sender: TObject); procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean); procedure btnInserirClick(Sender: TObject); procedure btnEditarClick(Sender: TObject); procedure btnRemoverClick(Sender: TObject); procedure btnCancelarClick(Sender: TObject); procedure btnConfirmarClick(Sender: TObject); private { Private declarations } public { Public declarations } end; var frmCadSetor: TfrmCadSetor; implementation uses DM; {$R *.dfm} procedure TfrmCadSetor.btnSairClick(Sender: TObject); begin frmCadSetor.Close; end; procedure TrataBotoes; begin btnInserir.Enabled:= not btnInserir.Enabled; btnEditar.Enabled:= not btnEditar.Enabled; btnRemover.Enabled:= not btnRemover.Enabled; btnCancelar.Enabled:= not btnCancelar.Enabled; btnConfirmar.Enabled:= not btnConfirmar.Enabled; btnSair.Enabled:= not btnSair.Enabled; DbNavigator1.Enabled := not DbNavigator1.Enabled; end; procedure TfrmCadSetor.FormCloseQuery(Sender: TObject; var CanClose: Boolean); begin if DataModule2.TbSetor.State in [dsEdit, dsInsert] then if messagedlg('Existem dados pendetes,'+#13+'deseja gravá-los?',mtConfirmation,[mbYes,mbNo],0)= mrYes then Canclose:= false else begin DataModule2.TbSetor.Cancel; TrataBotoes; CanClose :=True; end; end; procedure TfrmCadSetor.btnInserirClick(Sender: TObject); var ProxNum: integer; begin TrataBotoes; DataModule2.TbSetor.Last; ProxNum := Datamodule2.TbSetor.fieldByName('SetCodigo').AsInteger +1; datamodule2.TbSetor.Append; datamodule2.TbSetor.FieldByName('SetCodigo').AsInteger :=ProxNum; DbEdit2.SetFocus; end; procedure TfrmCadSetor.btnEditarClick(Sender: TObject); begin Datamodule2.TbSetor.Edit; TrataBotoes; end; procedure TfrmCadSetor.btnRemoverClick(Sender: TObject); begin if datamodule2.TbSetor.RecordCount=0 then showmessage('Tabela vazia!') else if messageDLG('Tem certeza que deseja remover o setor: '+#13+Datamodule2.TbSetor.FieldByName('SetNome').AsString+' ?' mtConfirmation,[mbYes, mbNo],0) = mrYes then Datamodule2.TbSetor.Delete; end; procedure TfrmCadSetor.btnCancelarClick(Sender: TObject); begin Datamodule2.TbSetor.Cancel; TrataBotoes; end; procedure TfrmCadSetor.btnConfirmarClick(Sender: TObject); begin Datamodule2.TbSetor.Post; TrataBotoes; end; end. Compartilhar este post Link para o post Compartilhar em outros sites
Chrnos 30 Denunciar post Postado Setembro 26, 2008 Já me aconteceu uma vez de no meu .pas estar um componente e no dfm ele não existir... já tentou abrir seu dfm e ver se o btnInserir existe lá? Compartilhar este post Link para o post Compartilhar em outros sites
Uilian 0 Denunciar post Postado Setembro 26, 2008 Já me aconteceu uma vez de no meu .pas estar um componente e no dfm ele não existir... já tentou abrir seu dfm e ver se o btnInserir existe lá? Estou aprendendo delphi a pouco tempo... verifiquei no dfm e está assim: object btnInserir: TBitBtn Left = 8 Top = 16 Width = 75 Height = 25 Caption = 'Inserir' TabOrder = 0 OnClick = btnInserirClick end creio eu que esteja tudo certo Compartilhar este post Link para o post Compartilhar em outros sites
Chrnos 30 Denunciar post Postado Setembro 26, 2008 Opa, agora que vi sua rotina melhor vi um problema nela... na sua rotina TrataBotoes mais especificamente... experimenta por ela assim: procedure TrataBotoes; begin with frmCadSetor do begin btnInserir.Enabled:= not btnInserir.Enabled; btnEditar.Enabled:= not btnEditar.Enabled; btnRemover.Enabled:= not btnRemover.Enabled; btnCancelar.Enabled:= not btnCancelar.Enabled; btnConfirmar.Enabled:= not btnConfirmar.Enabled; btnSair.Enabled:= not btnSair.Enabled; DbNavigator1.Enabled := not DbNavigator1.Enabled; end; end; Do jeito que a sua rotina está hoje, ela não reconhece a existência dos btn. Uma das opções para resolver é usar o WITH, como fiz acima... a outra é declarar essa rotina como uma rotina do TfrmCadSetor. []'s Compartilhar este post Link para o post Compartilhar em outros sites
Uilian 0 Denunciar post Postado Setembro 26, 2008 Opa, agora que vi sua rotina melhor vi um problema nela... na sua rotina TrataBotoes mais especificamente... experimenta por ela assim: procedure TrataBotoes; begin with frmCadSetor do begin btnInserir.Enabled:= not btnInserir.Enabled; btnEditar.Enabled:= not btnEditar.Enabled; btnRemover.Enabled:= not btnRemover.Enabled; btnCancelar.Enabled:= not btnCancelar.Enabled; btnConfirmar.Enabled:= not btnConfirmar.Enabled; btnSair.Enabled:= not btnSair.Enabled; DbNavigator1.Enabled := not DbNavigator1.Enabled; end; end; Do jeito que a sua rotina está hoje, ela não reconhece a existência dos btn. Uma das opções para resolver é usar o WITH, como fiz acima... a outra é declarar essa rotina como uma rotina do TfrmCadSetor. []'s Funcionou beleza... Valew pela força brother.. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites