Walterio
04-12-2012, 20:51:17
Hola a todos...
Trabajo con Delphi 6, ADOQuery, datasetproviders y TClientDataset.
Lo que necesito hacer es lo siguiente:
Tengo algunos campos de mi clientdataset que son del tipo internalcalc a los que les asigno un procedure en su propiedad OnGetText y estos funcionan perfectamente, pero desde una procedure genérica que trata a los campos de mi clientdataset dándole un formato de ancho, si el campo es visible o no desde una grilla genérica, le asigna títulos, etc, necesito ejecutar el OnGetText asociado al campo.
Ya pude detectar que campos tienen asignado este evento :
For i := 0 to (cdsMaster.FieldCount - 1) do
begin
If (cdsMaster.Fields[i].FieldKind = fkInternalCalc) then
If Assigned(cdsMaster.FieldByName(cdsMaster.Fields[i].FieldName).OnGetText ) then
//Aqui deberia ejecutar el OnText del campo seleccionado...
//Este es un engendro horrible que intent{e desde mi ignorancia, pero, obviamente, error :
(cdsMaster.FieldByName(cdsMaster.Fields[i].FieldName).OnGetText as TProcedure).Execute ;
End;
Sugerencias, son todas bienvenidas.
Muchas gracias.
Trabajo con Delphi 6, ADOQuery, datasetproviders y TClientDataset.
Lo que necesito hacer es lo siguiente:
Tengo algunos campos de mi clientdataset que son del tipo internalcalc a los que les asigno un procedure en su propiedad OnGetText y estos funcionan perfectamente, pero desde una procedure genérica que trata a los campos de mi clientdataset dándole un formato de ancho, si el campo es visible o no desde una grilla genérica, le asigna títulos, etc, necesito ejecutar el OnGetText asociado al campo.
Ya pude detectar que campos tienen asignado este evento :
For i := 0 to (cdsMaster.FieldCount - 1) do
begin
If (cdsMaster.Fields[i].FieldKind = fkInternalCalc) then
If Assigned(cdsMaster.FieldByName(cdsMaster.Fields[i].FieldName).OnGetText ) then
//Aqui deberia ejecutar el OnText del campo seleccionado...
//Este es un engendro horrible que intent{e desde mi ignorancia, pero, obviamente, error :
(cdsMaster.FieldByName(cdsMaster.Fields[i].FieldName).OnGetText as TProcedure).Execute ;
End;
Sugerencias, son todas bienvenidas.
Muchas gracias.