Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 15-07-2011
mcsebas mcsebas is offline
Miembro
 
Registrado: feb 2008
Posts: 78
Poder: 17
mcsebas Va por buen camino
Problemas con propiedades en POO

Hola gente despues de tanto tiempo volvi a solicitar de vuestra ayuda porque me pasa lo siguiente:

Resulta que estoy haciendo un sistema y tengo un problemilla con el tema de clases y es el siguiente:

Parto de una clase llamada Conexion que me maneja la conexion a la BD tiene un SQLConnection y SQLQuery; heredo en otra clase la anterior y le agrego el DataSetProvider, ClientDataSet y el DataSource; hasta ahi todo bien pero se me ocurre poner estos tres ultimos componentes en private para que al instanciar la clase no se vean; defino una funcion como metodo que me devuelva el datasource y me tira el siguiente error:

"...Class TDataSetProvider not found..."

Cambio a protected en la declaracion y me sigue dando lo mismo pero cuando saco private o protected y lleno en un formulario el DataGrid con el metodo que tira un DataSource funciona pero estoy viendo tambien los componentes DataSetProvider, ClientDataSet y el DataSource y es lo que no quiero; o sea no hay encapsulamiento.

Agradeceria que me den una mano con esto, porque lentamente estoy entendiendo la POO y me ahorra tiempo y lineas de codigo.

Este es el fragmento de mi codigo:

Código Delphi [-]
type
  TModuloListado = class(TModuloConexion)
  protected
    Proveedor: TDataSetProvider;
    DataSet: TClientDataSet;
    Origen: TDataSource;
  public
    function Informacion:TDataSource;
  end;
Responder Con Cita
  #2  
Antiguo 15-07-2011
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
Según entiendo, has puesto los componentes en el Datamodule en tiempo de diseño, ahí Delphi entiende que son públicos y se puede acceder desde el exterior.

Si los creas en tiempo de ejecución, podrías hacer lo que quieres de la encapsulación.

Si usas herencia visual, ocurre igual que en el primer caso, siempre podrás modificar las propiedades.

Debería ponerse un componente en el Datamodule y especificar que es privado... pero yo no sé como hacerlo.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #3  
Antiguo 15-07-2011
mcsebas mcsebas is offline
Miembro
 
Registrado: feb 2008
Posts: 78
Poder: 17
mcsebas Va por buen camino
Gracias por la ayuda me estas orientando bien por donde debo resolver el problema, estaré a la espera de otras respuestas.

Gracias nuevamente
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Propiedades provider cadina Providers 1 25-06-2008 21:31:14
propiedades del quickreports eduardo360 Impresión 3 08-02-2008 19:11:12
Acceso a las propiedades de un objeto desde el editor de propiedades Hugo OOP 0 24-11-2006 12:58:22
Propiedades inaccesibles ElDuc Varios 2 27-12-2004 16:04:42
Propiedades ADO Zopi Conexión con bases de datos 4 10-10-2003 15:41:57


La franja horaria es GMT +2. Ahora son las 03:30:50.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi