Buenas,
conseguí ocultar la propiedad ConnecionString de la siguiente manera:
Código Delphi
[-]
type
TADOConnectionEclipse = class(TADOConnection) private
FConnectionString: WideString;
function GetConnectionString: WideString;
protected
public
property ConnectionObject;
published
property ConnectionString read GetConnectionString;
end;
sobreescribiendo la funcion GetConnectionString por el código que me devuelva un texto diferente al de conexión.
El problema fué que cuando creaba un objeto de esta manera:
Código Delphi
[-]
var
ace:TADOConnectionMio;
begin
ace:=TADOConnectionMio.Create(Self);
y llamaba a ace.ConnecionString el resultado era el esperado: me enseñaba el resultado que le había dado a la propiedad, pero si hago esto:
Código Delphi
[-]
var
ace:TADOConnectionMio;
begin
ace:=TADOConnection.Create(Self);
y ejecuto ace.ConnectionString, me ejecuta la función read del objeto TADOConnection mostrándome el valor real del ConnectionString.
He mirado en el tema del foro que comenta Neftali donde comentan: "El nivel de visibilidad de una propiedad o método no puede degradarse, sólo aumentarse", por lo que sería imposible realizar lo que quiero de esta manera.