Fórum Como diferentes FORM possam acessar uma procedure ? #242219

08/07/2004

0

:?: ,
passando como parametro o nome do DataSet, para que possam atualizar os botoes de operação conforme
o estado do Dataset.

EXEMPLO:

unit UProcedures;

interface

uses Windows, Dialogs, UChamaProc, SysUtils ;

TYPE
TProcedures = class(TObject)

public
procedure ChamaBotoes(parametros a passar);
end;

implementation


procedure TProcedures.ChamaBotoes(parametros a passar);
begin
If DmEstoque.IbDataset.State = dsInsert then begin
SpInclui.Enabled := True;
SpCancela.Enabled := True;
SpFecha.Enabled := True;
SpGrava.Enabled := False;
SpExclui.Enabled := False;
SpImprime.Enabled := False;
SpLocaliza.Enabled:= False;
end;
If DmEstoque.IbDataset.State = dsEdit then begin
SpInclui.Enabled := False;
SpCancela.Enabled := True;
SpFecha.Enabled := True;
SpGrava.Enabled := True;
SpExclui.Enabled := True;
SpImprime.Enabled := True;
SpLocaliza.Enabled:= True;
end;
// toda vez que houver uma alteracao do DataSet, Chama a procedure passando como
// parametro o nome do DataSet.
// Em cada FORM haverá os sete botoes descritos acima com os respectivos nomes.
end;
end.



Obrigado


Andregeraldo

Andregeraldo

Responder

Posts

08/07/2004

Rômulo Barros

// toda vez que houver uma alteracao do DataSet, Chama a procedure passando como // parametro o nome do DataSet.


Basta vc chamar a sua rotina no evento OnStateChange do seu DataSource:

DataSourceStateChange(Sender : TObject);
Begin
ChamaBotoes(TDataSource(Sender).DataSet); // Faça isso no formulário pai (herança) e todos os filhos sentirão o mesmo efeito
End;

:roll:


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar