Duvida no datamodule + evento
em um datamodule tenho varios DataSetProvider, gostaria de usar o evento onupdateerror de todos colocando a seguinte instrucao: raise Exception.Create(e.Message);
Mas colocar isso em todos da mt trabalho, sera que consigo uma maneira de colocar uma unica instrucao para todos os DataSetProvider que estou dentro do datamodule ?
Abs e obrigado
Mas colocar isso em todos da mt trabalho, sera que consigo uma maneira de colocar uma unica instrucao para todos os DataSetProvider que estou dentro do datamodule ?
Abs e obrigado
Felipe Ip
Curtidas 0
Respostas
William
22/08/2012
Colega acredito que como são vários componentes, vc teria que inserir um à um.
Se fosse Orientado à Objetos, vc poderia criar uma classe(TMeuDataSetProvider) que descende de TDataSetProvider e acrescentar esse código no respectivo evento, depois seria só instanciar sub-classes descendentes de TMeuDataSetProvider.
Se fosse Orientado à Objetos, vc poderia criar uma classe(TMeuDataSetProvider) que descende de TDataSetProvider e acrescentar esse código no respectivo evento, depois seria só instanciar sub-classes descendentes de TMeuDataSetProvider.
GOSTEI 0
Marco Salles
22/08/2012
em um datamodule tenho varios DataSetProvider, gostaria de usar o evento onupdateerror de todos colocando a seguinte instrucao: raise Exception.Create(e.Message);
Mas colocar isso em todos da mt trabalho, sera que consigo uma maneira de colocar uma unica instrucao para todos os DataSetProvider que estou dentro do datamodule ?
Abs e obrigado
Mas colocar isso em todos da mt trabalho, sera que consigo uma maneira de colocar uma unica instrucao para todos os DataSetProvider que estou dentro do datamodule ?
Abs e obrigado
Vc faz o seguinte
na secção private do seu DataModulo ou container vc define a procedure
private
{ Private declarations }
procedure DataSetProviderUpdateError(Sender: TObject;
DataSet: TCustomClientDataSet; E: EUpdateError; UpdateKind: TUpdateKind;
var Response: TResolverResponse);Na secção Implementation vc define
procedure TDataModule3.DataSetProviderUpdateError(Sender: TObject; DataSet: TCustomClientDataSet; E: EUpdateError; UpdateKind: TUpdateKind; var Response: TResolverResponse); begin raise Exception.Create(e.Message); end;
No evento Oncreate do seu datamodulo ou container vc escreve
procedure TDataModule3.DataModuleCreate(Sender: TObject);
var
Dsp:TComponent;
begin
for Dsp in self do
if Dsp.ClassNameIs('TDatasetProvider') then
TDatasetProvider(Dsp).OnUpdateError:= DataSetProviderUpdateError;
end;[]sds
GOSTEI 0
Felipe Ip
22/08/2012
Marcos, mais uma vez mt obrigado, era isso mesmo, eu havia visto esse codigo em algum lugar, mas nao conseguia lembrar, perfeito.
Abs
Abs
GOSTEI 0