Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #2  
Antiguo 01-03-2012
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Pero tal como lo esbozas no parece tener muchas posibilidades.

De entrada, el método Leer devuelve vDatos.DataSource pero a esta propiedad del objeto ADOQuery nunca le asignas nada, además de que dicha ppropiedad es para el paso de parámetros al Query. Quizá quisiste devolver el DataSource que creaste, pero, por un lado, tal objeto creado no apunta, aparentemente, a ningún DataSet y tampoco está declarado en el método. ¿De dónde sale?

Por otro lado, si lo que quieres es devolver el DataSet que creas al vuelo, ya sea directamente o através de un DataSource, entonces no puedes destruir el objeto en el mismo método, porque entonces la rutina que lo reciba obtendrá un objeto muerto.

Tendrías que dejar que sea el receptor quien se encargue de destruir al DataSet, lo cual es propenso a errores pues le dejas una responsabilidad que probablemente no deba tener.

Alguna vez hice algo parecido, basándome en código de otros, en donde lo que devuelves, no es un DataSet sino una interfaz que contiene una DataSet. Dicha interfaz estaba implementada por un descendiente de TInterfacedObject y lo que logras con eso es un recolector de basura. Esto es, el objeto se destruye automáticamente una vez que se pierden todas las referencias a él (es la idea, los detalles no los recuerdo bien ahora).

De todas formas, no es algo tampoco que vayas a hacer en un rato.

No sé yo si estás tomando el camino adecuado dada la premura de tiempo.

Tú puedes hacer aplicaciones con varias capas usando una triada

Código:
DataSet <---> DataSetProvider <---> ClientDataSet
exponiendo únicamente el ClientDataSet al cliente. Esto te permite cambiar con relativa facilidad la capa del DataSet. En una aplicación real a tres capas, el DataSet viviría en un RemoteDataModule, pero por lo mientras lo puedes colocar en un DataModule normal. Creo que alguien (¿Al González?) llamó a esto una aplicación a dos capas y media

// Saludos
Responder Con Cita
 


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Sql que no retorna datos me da error:invalid variant type conversion bezaig SQL 6 17-03-2010 09:58:53
Procedimiento que retorna XML mamaro Firebird e Interbase 3 05-03-2008 18:47:02
Capturar Valor que Retorna un SP subzero MS SQL Server 3 18-01-2008 22:38:37
Funcion de Que Retorna una Cadena Abel Garcia Firebird e Interbase 4 23-07-2005 11:30:02
Acceso a método d 1 form dsd Módulo d Datos Muten Varios 2 25-11-2003 14:50:57


La franja horaria es GMT +2. Ahora son las 10:38:11.


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