Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 04-02-2008
andresenlared andresenlared is offline
Miembro
 
Registrado: oct 2003
Posts: 153
Poder: 21
andresenlared Va por buen camino
Question Reserva de memoria...

Hola a todos y muchas gracias por toda la ayuda que he obtenido en todos los temas.

Ahora tengo una pregunta.

tengo la siguiente funcion: el .pas que implementa la funcion no lo tengo, pero la tengo que usar por las caracteristicas del codigo fuente

QryOpenSQL(QryProcs, 'Select * from tabla1');

QryProcs es un Tquery

La funcion lo que hace es abrir QryProcs con el SQL que le pasa a la misma funcion. Lo que necesito es obtener otro espacio en memoria que guarde el resultado de QryProcs para que pueda usar nuevamente la funcion con otra fuente de datos.

Algo parecido a

Tquery2:=QryProcs; //usaria Tquery2 para procesar otra informacion
Me perdonan por la linea de codigo anterior se que no funciona puesto que si cambia la fuente de datos de QryProcs tambien se modificaria Tquery2 y es eso lo que no quiero, solo quiero que entiendan lo que necesito.

Alguna idea?
Responder Con Cita
  #2  
Antiguo 05-02-2008
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 28
jachguate Va por buen camino
Visto lo que has dicho, por que no usar una nueva instancia de TQuery para los otros datos:

Código Delphi [-]
begin
  QryOpenSQL(QryClientes, 'select * from cliente');
  QryOpenSQL(QryProductos, 'select * from producto');

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #3  
Antiguo 05-02-2008
andresenlared andresenlared is offline
Miembro
 
Registrado: oct 2003
Posts: 153
Poder: 21
andresenlared Va por buen camino
Si es una solucion, lo que no informe en el primer mensaje, era que el objeto QryProcs que es un Tquery, es el que reconoce la funcion, ya habia intentado crear otra instancia del objeto pero me emite error.
Responder Con Cita
  #4  
Antiguo 05-02-2008
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 28
jachguate Va por buen camino
Cita:
Empezado por andresenlared Ver Mensaje
ya habia intentado crear otra instancia del objeto pero me emite error.
Tendrías la amabilidad de indicarnos de una buena vez el mensaje de error, y otras cosas que ya hayas intentado, con sus respectivos problemas, para ver si ahorramos algo de tiempo en esto?

mil gracias <---- recomendable hacer clic!.
__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate

Última edición por jachguate fecha: 05-02-2008 a las 19:09:39.
Responder Con Cita
  #5  
Antiguo 05-02-2008
andresenlared andresenlared is offline
Miembro
 
Registrado: oct 2003
Posts: 153
Poder: 21
andresenlared Va por buen camino
Saludos...

Gracias a todos por su ayuda.

La idea era (digo era porque ya la solucione), hacer una copia del objeto QryProcs, ya que ese mismo objeto es reconocido por la funcion y utilizar la copia para hacer otros procesos.

En uno de los hilos decia que usar un Tstringlist para guardar los datos iniciales obtenidos en este caso por QryProcs. No queria hacer esto para evitar lineas de codigo, pero me toco.

Si quisiera saber con un ejemplo como se usa el Assing. he visto hilos pero solo comenta que es una solucion para duplicar un objeto.

Gracias.
Responder Con Cita
  #6  
Antiguo 05-02-2008
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 28
jachguate Va por buen camino
Assign es un método para "duplicar" objetos persistentes (aquellos que derivan de TPersistent), siempre que alguna de las clases sepa como "duplicarse" en la otra.

Pero no es el caso de los DataSets (entre ellos los Queryes).

De cualquier manera, sigo sin ver por qué la necesidad de utilizar una sola instancia de TQuery y luego ir dejando los datos "duplicados" por allí en otros queryes, si sería mucho mas simple, limpio y rápido utilizar tantos querys como sea necesario. Hay alternativas para esto, pero sin tener un poco mas de información de lo que VOS queres/necesitás/pretendes hacer, yo me puedo pasar escribiendo puras chorradas media hora y al final resultar que no te sirve.

Por eso te envié al hilo de la calidad de las preguntas. Espero lo hayas leido y asimilado.

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
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
reserva memoria c++ halizia C++ Builder 1 25-04-2006 18:09:52
Liberar Memoria JoseQ Varios 6 16-07-2004 18:49:21
Memoria Gandazgul Varios 2 08-05-2004 01:02:37
Memoria susje Varios 18 23-07-2003 00:07:10


La franja horaria es GMT +2. Ahora son las 04:00:05.


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