Ver Mensaje Individual
  #3  
Antiguo 13-01-2010
MAPER MAPER is offline
Registrado
 
Registrado: oct 2004
Ubicación: Perú
Posts: 4
Reputación: 0
MAPER Va por buen camino
Gracias por ayudarme...
Si te fijas en el codigo hay 2 clases:

TwwValidateField = procedure(Sender: TObject; Field: TField; var IsValid: Boolean) of object;

TwwDBCustomEdit = class(TwwCustomMaskEdit)
private
FBeforeValue: String;
FIsValueValid, FCancelEscape: Boolean;
FOnValidateField: TwwValidateField;

public
...
.
property OnValidateField: TwwValidateField read FOnValidateField write FOnValidateField;

end;

TwwDBEdit = class(TwwDBCustomEdit)
published

...
.
property OnValidateField;
end;


en la primera clase(TwwDBCustomEdit) se declara como PUBLIC para que esta propiedad sea utilizado por otra que la herede. y en la segunda clase(TwwDBEdit) se define como PUBLISHED y realmente es la segunda clase la que se registra y la que se va a usar.

Como lo comentaba al inicio esta misma declaracion esta funcionanado en Delphi 7 y si me muestra el envento TwwDBEdit.OnValidateField en el inspector de objetos. el detalle viene cuando se ha hecho los mismos cambios a y compilado en Delphi 2010 y todo compila bien y se registran los componentes sin problemas. pero cuando se usa el componente (TwwDBEdit) al ir al inspector de objetos no me esta mostrando el envento.

Lo que si me parece raro que cuando declaro una variable del la clase(TwwDBEdit) y luego veo sus propiedades en el editor si me aparece el evento. por eso no se si en delphi 2010 tenga que hacer algo mas.
Responder Con Cita