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
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
Curtir tópico
+ 0
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
Clique aqui para fazer login e interagir na Comunidade :)