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 19-10-2006
mcarazas mcarazas is offline
Miembro
 
Registrado: may 2006
Posts: 40
Poder: 0
mcarazas Va por buen camino
Question Heredar Objetos ADO

Hola amigos del foro:

Tengo un formulario MDI el cual se conecta con ADOConnection al motor de la base de datos, este formulario llama varias Dll's las cuales tambien necesitan esa conexion el objeto las paso como parametros les muestro el codigo que utilizo:
Código Delphi [-]
function Crear_form(h: Thandle; ADOCon: TADOConnection; VecInformacion : Array of String): Integer;
begin
  Application.Handle := h;
  Application.CreateForm(TfrmEVentas, frmEVentas);
with frmEVentas do
  begin
      SQLUno.Connection:= ADOCon;
      SQLDos.Connection:= ADOCon;
      SQLTres.Connection:= ADOCon;
      SQLBuscar.Connection := ADOCon;

      ShowModal;
      Result := StrToInt('0');
      while frmEVentas <> nil do
           FreeAndNil(frmEVentas);
  end;
end;
hasta ahí todo funciona muy bien, el problema es que necesito copiar la conexion del Objeto en el formulario de la Dll, si lo copio este objeto a otro objeto de la misma clase tengo un error al eliminar el objeto que cree por que al Eliminar este objeto se elimina los dos objetos y yo no quiero que el objeto del MDI se ilimine por que es como una variable global que me sirve para toda la aplicacion, estaba pensando en la herencia. Espero puedan ayudarme gracias de antemo.
Responder Con Cita
  #2  
Antiguo 19-10-2006
luisgutierrezb luisgutierrezb is offline
Miembro
 
Registrado: oct 2005
Ubicación: México
Posts: 925
Poder: 19
luisgutierrezb Va por buen camino
no necesitas herencia, necesitas el "poder" de los objetos de delphi, tu codigo quedaria asi...

Código Delphi [-]
//...
SQLUno.Assign(ADOCon);
//...
Responder Con Cita
  #3  
Antiguo 19-10-2006
mcarazas mcarazas is offline
Miembro
 
Registrado: may 2006
Posts: 40
Poder: 0
mcarazas Va por buen camino
Copiar Objetos

Gracias por responder, pero creo que no entendiste mi pregunta, lo que necesito es copiar objetos por ejemplo
Código Delphi [-]
ADOCopia := ADOCon;
donde ADOCon es la como la variable global lo utilizo en todo el programa.
ADOCopia es el objeto que utilizare en mi Dll
Mi problema es, cuando elimino ADOCopia también se elimina ADOCon, y cuando se elimina esté objeto ya no puedo utilizar mas la conexion. Espero me entiendas está vez.
Responder Con Cita
  #4  
Antiguo 19-10-2006
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.282
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Yo creo que SÍ entendieron tu pregunta y te la contesaron bien.

Si haces:
Código Delphi [-]
  ADOCopia := ADOCon;
No creas un nuevo objeto, sino un apuntador al objeto anterior; Tienes dos apuntadores, pero un sólo objeto; Por lo tanto al destruirlo utilizando cualquiera de los dos apuntadores destruyes el único objeto que tienes.

La forma de crear una copia del objeto, es crear uno nuevo y asignarle el contenido del que tienes utilizando:

Código Delphi [-]
  ADOCopia := TTipo.Create();    // Crear
  ADOCopia.Assign(ADOCon);     // copiar el contenido del existente


Es este caso tienes dos apuntadores y dos objetos. Creo que es esto lo que intentaban decirte.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
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
Heredar objeto carlomagno OOP 5 19-06-2006 01:00:05
Problemas al Heredar DataModule Mauro.NET OOP 1 10-04-2005 20:16:20
Heredar del DBNavigator Carlosj OOP 0 11-01-2005 09:29:43
Heredar un método protejido. cybergerman OOP 4 29-09-2004 15:51:08
Problemas al heredar un TRxDbGrid Six66 OOP 1 01-09-2003 15:37:46


La franja horaria es GMT +2. Ahora son las 02:41:48.


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