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 16-11-2012
jars jars is offline
Miembro
 
Registrado: mar 2004
Posts: 283
Poder: 21
jars Va por buen camino
cargar dll en un hilo y ejecutar funcion

Hola amigos.
Tengo un programa que utiliza una dll que algunas veces demora bastante en la ejecucion de una funcion.
La cargo cuando se inicia la aplicacion en un hilo con el componente TJvThread de Jedi con el siguinte codigo:

Código Delphi [-]
//variables publicas, se usan desde otra unit   
lACD : IACDClient;   
hAsClient: LongWord;  

procedure TFormMain.thrASClientExecute(Sender: TObject; Params: Pointer); 
begin   
  try     
    hAsClient := LoadLibraryASClient;     
    try       
      ASClientStartUp(AS_ACTIVATE_ACD_SERVICE);       
      lACD := NewACDClient;       
      trace('thrASClient StartUp OK');     
    except       
      on E: Exception do trace('@E ASClientStartUp '+ E.Message);     
    end;   
  except     
    on E: Exception do trace('@E LoadLibraryASClient '+ E.Message);   
  end; 
end;

El tema con esto es que ante un evento del hilo principal tengo que ejecutar una funcion de la dll.
Código Delphi [-]
  lRes:= lACD.WRSetupCallBack(cbtable, cbrecord, cbdatetime, cbphone);

Soy conciente que al ejecutarse desde el hilo principal, se va a seguir demorando mi programa.
Como tendria que hacer para que la funcion WRSetupCallBack se ejecute en el hilo, como le aviso y le paso los parametros?

Espero haberme explicado.
Saludos

Última edición por jars fecha: 16-11-2012 a las 21:05:46.
Responder Con Cita
  #2  
Antiguo 17-11-2012
CSIE CSIE is offline
Miembro
 
Registrado: feb 2008
Ubicación: Universo paralelo
Posts: 69
Poder: 17
CSIE Va por buen camino
Dos cosas, dices que cargas la DLL en un Thread aunque pones "procedure TFormMain", no termino de entenderlo, por otro lado, ¿El thread está durmiente y espera que le avises para ejecutar o está en loop continuo o no está arrancado o ...?.

Saludos
Responder Con Cita
  #3  
Antiguo 17-11-2012
jars jars is offline
Miembro
 
Registrado: mar 2004
Posts: 283
Poder: 21
jars Va por buen camino
Hola, gracias por responder.
Lo que ves TFormMain es porque estoy utilizando el componente TJvThread de Jedi.
La idea es que al arranacar el programa cargue esta dll en un hilo y quede en memoria hasta que finalice el mismo.
Desde el hilo principal en distintos momentos tengo que ejecutar la funcion WRSetupCallBack con sus parametros
y que mi aplicacion siga su curso independientemente de lo que pueda demorar la funcion.
Espero haberme explicado mejor.
Gracias por tu ayuda.
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
cuando llamo ejecutar un hilo dentro del proceso del hilo no lo hace robertosc Varios 1 14-08-2007 22:11:09
ejecutar consulta sql en hilo pborges36 OOP 0 10-05-2007 18:29:32
funcion genérica para cargar combos Byfed Varios 7 08-04-2007 01:14:36
Ejecutar función al cargar formulario lic_francisco Varios 1 03-05-2005 09:05:49
ejecutar una funcion d otra Unit negama Varios 2 08-09-2003 19:32:18


La franja horaria es GMT +2. Ahora son las 14:44:24.


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