Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #21  
Antiguo 13-07-2010
Avatar de richy08
richy08 richy08 is offline
Miembro
 
Registrado: may 2007
Ubicación: Bucerias, Nayarit Mexico
Posts: 529
Poder: 18
richy08 Va por buen camino
es ahi donde tengo mis dudas por que ese misma funcion se mandara llamar en todas las iteraciones que tengas los clientes con el servidor, los hilos sabran que tzconnections y que tzquery fueron creados por cada uno de los hilos, y no he encontrado como hacer una cadena de conexion para los componentes zeos que sea por medio de una cadena, el tipo es tzconnections pero yo al querer asignar por el nombre Myusername(nombre de la maquina que creo el hilo) es tipo string e ahi el problema
Responder Con Cita
  #22  
Antiguo 13-07-2010
Avatar de richy08
richy08 richy08 is offline
Miembro
 
Registrado: may 2007
Ubicación: Bucerias, Nayarit Mexico
Posts: 529
Poder: 18
richy08 Va por buen camino
ok al parecer ya funciona aunque no lo se con certeza, la duda que ahora me queda es si tengo que destruir los componentes que he creado o autmaticamente se destruyen cuuando finaliza el hilo, la otra duda es en que momento finalizo el hilo gracias por su tiempo
Responder Con Cita
  #23  
Antiguo 13-07-2010
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.339
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
Los componentes que hayas creado tú, debe destruirlos tú. Lo lógico sería que los que crees en el Create, los liberes en el Destroy. Los que pertenecen al formulario y se crean en diseño los destruye el propio form, pero los que has creado tú, son tu responsabilidad.
__________________
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
  #24  
Antiguo 13-07-2010
Avatar de richy08
richy08 richy08 is offline
Miembro
 
Registrado: may 2007
Ubicación: Bucerias, Nayarit Mexico
Posts: 529
Poder: 18
richy08 Va por buen camino
ok entonces sigo teniendo algunos detalles, lo malo de esto es que el programa siempre estara corriendo en el server(todo el tiempo) asi es que no puedo usar el evento oncreate(), ondestroy() tendre que usar una funcion para destruirlos aunque esto si me da un poco de panico lo probare gracias.
Responder Con Cita
  #25  
Antiguo 14-07-2010
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Creo la conexion y el query que necesite.
Lo uso e inmediatamente despues en el acto lo destruyo.
Simple y transparente.
Se puede hacer un simple procedimiento que sea llamado cuando ya no se usen los componentes para ser destruidos.
La verdad no le veo lo complicado.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #26  
Antiguo 14-07-2010
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.339
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
Cita:
Empezado por richy08 Ver Mensaje
ok entonces sigo teniendo algunos detalles, lo malo de esto es que el programa siempre estara corriendo en el server(todo el tiempo) asi es que no puedo usar el evento oncreate(), ondestroy() tendre que usar una funcion para destruirlos aunque esto si me da un poco de panico lo probare gracias.

Me refería a los eventos de los hilos (threads) no del programa principal.
__________________
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
  #27  
Antiguo 14-07-2010
Avatar de richy08
richy08 richy08 is offline
Miembro
 
Registrado: may 2007
Ubicación: Bucerias, Nayarit Mexico
Posts: 529
Poder: 18
richy08 Va por buen camino
Cita:
Empezado por Caral Ver Mensaje
Hola
Creo la conexion y el query que necesite.
Lo uso e inmediatamente despues en el acto lo destruyo.
Simple y transparente.
Se puede hacer un simple procedimiento que sea llamado cuando ya no se usen los componentes para ser destruidos.
La verdad no le veo lo complicado.
Saludos
si la verdad no seria complicado pero no se con certeza que es lo que pase
aunque segun yo le doy un nombre al query al querer acceder por su nombre no logro que compile

Código Delphi [-]
function TFrm_Interfaces.CreaAdo(Myusername, nombre: string; acode, estado : integer):boolean;
var
   i, seleccion :integer;
begin
       //coneccion mysql
       zConnect1:= TzConnection.Create(nil);
       With zConnect1 do
       begin
        Parent:= Frm_Interfaces;
        Name:= Myusername+'z';
        Catalog:= 'lookup';
        Database:= 'cdr';
        HostName:= '192.168.10.3';
        Password:= 'siti270';
        Protocol:= 'mysql-5';
        port:= 3306;
        User:= 'root';
        Connect;
       end;

       //coneccion mssql
       connect:= tadoconnection.Create(nil);
       With Connect do
       begin
        connectionstring:=cadena;
        loginprompt:=false;
        provider:='SQLOLEDB.1';
        name:=Myusername+'m';
        connected;
       end;

       //crea el query   mssql   busca extensiones
       Query      :=   TAdoquery.Create(nil);
       with Query  do
       begin
         Name :=   Myusername+'1';
         close;
         Connection:= connect;
         SQL.text:='select idext, DesTel from pbx_ext where acode=:acode ';
         parameters.ParamByName('acode').Value:=acode;
         Parent:= Frm_Interfaces;
         CursorType := ctStatic;
         open;
       end;

       //crea el query   mysql
       zQuery      :=   TzQuery.Create(nil);
       with zQuery  do
       begin
         Name :=   Myusername+'2';
         Connection:= zConnect1;
         SQL.text:='update lookup set  allowcalls=:allowcalls, ldesc=:ldesc where code=:code ';
         Parent:= Frm_Interfaces;
       end;

       i:=0;
       seleccion:=Query.RecordCount;
       Query.First;
       While ido
       begin
            zQuery.Close;
            zQuery.ParamByName('allowcalls').Value:=estado;
            zQuery.ParamByName('ldesc').Value:=nombre;
            zQuery.ParamByName('code').Value:=Query.fieldbyname('idext').Value;
            zQuery.ExecSQL;
            i:=i+1;
            Query.Next;
       end;
end;

Cita:
Empezado por Neftali Ver Mensaje
Me refería a los eventos de los hilos (threads) no del programa principal.
entonces si destruyo el hilo todo lo que se halla creado a dentro de el se destruye ???

este codigo lo uso para destruir el hilo en la parte del cliente

Código Delphi [-]
  if CBClientActive.Checked then
      begin
        try
           Client.Connect(10000);  // in Indy < 8.1 leave the parameter away
           ClientHandleThread := TClientHandleThread.Create(True); //crea el hilo
           ClientHandleThread.FreeOnTerminate:=True; //para que no se ejecute inmediatamente
           ClientHandleThread.Resume; //lo manda ejecutar
       except
            on E: Exception do MessageDlg ('Error while connecting:'+#13+E.Message, mtError, [mbOk], 0);
        end;
      end
      else
      begin
       ClientHandleThread.Terminate;
       Client.Disconnect;
      end;
Responder Con Cita
  #28  
Antiguo 14-07-2010
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.339
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
Cita:
Empezado por richy08 Ver Mensaje
entonces si destruyo el hilo todo lo que se halla creado a dentro de el se destruye ???
Cuando destruyes un objeto, ese objeto queda innacesible y todo lo que hubieras creado dentro también. Si lo que has creado dentro (Create del Thread) lo has destruído correctamente (Destroy del Thread) estará todo OK, si no lo has destruído, esa memoria se perderá.

En cualquier caso el hilo y todo lo que hubiera dentro ya no existe (por decirlo así).
__________________
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
  #29  
Antiguo 14-07-2010
Avatar de richy08
richy08 richy08 is offline
Miembro
 
Registrado: may 2007
Ubicación: Bucerias, Nayarit Mexico
Posts: 529
Poder: 18
richy08 Va por buen camino
Cita:
Empezado por Neftali Ver Mensaje
Cuando destruyes un objeto, ese objeto queda innacesible y todo lo que hubieras creado dentro también. Si lo que has creado dentro (Create del Thread) lo has destruído correctamente (Destroy del Thread) estará todo OK, si no lo has destruído, esa memoria se perderá.

En cualquier caso el hilo y todo lo que hubiera dentro ya no existe (por decirlo así).
sabes viendo mi codigo no tengo nada de lo que describes, creo que tendre que volver a requemarme los manuales para ver en que momento tengo que utilizar lo que comentas, por que mi maquina al estar corriendo los programas al final empezo a marcar errores de memoria al principio no se me hizo raro por que es algo normal en mi maquina ya que mi instalacion de windows esta dañada, pero es mejor asegurarme gracias por sus comentarios.
Responder Con Cita
  #30  
Antiguo 15-07-2010
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.339
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
Tal vez deberíamos "hacer un alto en el camino" (como se dice aquí) y pensar y revisar todo lo que hemos hablado, porque te confío que yo mismo he perdido un poco de vista el objetivo final.

Creo que hemos dado muchas vueltas y me suena que hemos estado discutiendo de los mismo en varios hilos y al final yo me he perdido un poco.

Así que tal vez deberíamos poner la PAUSA.
__________________
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
  #31  
Antiguo 15-07-2010
Avatar de richy08
richy08 richy08 is offline
Miembro
 
Registrado: may 2007
Ubicación: Bucerias, Nayarit Mexico
Posts: 529
Poder: 18
richy08 Va por buen camino
si totalmente de acuerdo la verdad hasta yo me empiezo a confundir al ver el codigo y tanto texto que sigo intentando digerir, creo que mi mayor problema es que veo diferentes textos y ejemplos de programacion que son diferentes pero igual y pueden llegar al mismo resultado
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
como crear dll en tiempo de ejecucion Maycoll Varios 12 10-05-2008 01:57:19
Crear componentes en tiempo de ejecución Mauro® Varios 6 23-08-2007 19:45:29
Crear Componentes en tiempo de ejecucion fartycl Varios 3 21-06-2006 22:03:13
Crear y Borrar componentes en tiempo de ejecución jzginez OOP 6 25-11-2005 16:04:55
Problemas al tratar de crear varios componentes en tiempo de ejecucion ilichhernandez Conexión con bases de datos 2 13-11-2005 19:03:26


La franja horaria es GMT +2. Ahora son las 16:52:04.


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