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 06-04-2005
Avatar de BlueSteel
[BlueSteel] BlueSteel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Concepción - Chile
Posts: 2.310
Poder: 23
BlueSteel Va por buen camino
Talking Uso del Timer.... estara correcto...?

Hola Amigos...

tengo una consulta....

Tengo un Timer en el Menú principal de un programa, con la siguiente configuración...

Enable : True
Interval: 300000 // aprox 5 minutos

Al evento le puese que llamara a una función....la cual me busca si hay registros en las tablas (Algun registro que deba autorizarse) ... si las hay me muestra un mesaje tipo Messenger ...

En la practica, al ingresar al sistema me muestra un mensaje (si es que se debe autorizar algun cargo...) y cada 5 min aprox.. me muestra un mensaje hasta que el cargo se autorice.... si los autorizo todos... el mensaje deja de aparecer.... (todo bien hasta el momento...)

ahora mi problema es el siguiente...

El sistema esta en red... en el pc1 ingrese...y lo deje en el menu principal mientras visitaba unas paginas web.... en el pc2 ingrese... agregue registros que deben autorizarse, pero despues de 10 minutos.. en el pc1 todavia no me emitia el mensaje....(sera por que estaba ejecutando otra aplicación ? o debo agregar algun código adicional ?)

si alguien me puede ayudar.. please....
__________________
BlueSteel

Última edición por BlueSteel fecha: 06-04-2005 a las 15:58:37.
Responder Con Cita
  #2  
Antiguo 06-04-2005
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 23
maeyanes Va por buen camino
Que tipo de base de datos usas?

Como haces la inserción de registros nuevos?

Como haces la verificación de registros nuevos?



Saludos...
Responder Con Cita
  #3  
Antiguo 06-04-2005
Avatar de BlueSteel
[BlueSteel] BlueSteel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Concepción - Chile
Posts: 2.310
Poder: 23
BlueSteel Va por buen camino
maeyanes

Trabajo con Interbase 6, y tanta las inserción como la verificación las realizo con consulta SQL...

Código para Insertar Cargo
Código:
//   Proceso para Almacenar los Cargos del StringGrid_Paso a la Tabla Oficial...
For i:= 0 to Costos.Costos_Paso.RowCount-1 do
Begin
	 IBQ_Edit.SQL.Clear;
	 IBQ_Edit.SQL.Add('Insert Into "Costos" ("Ord_Numero","Are_Codigo","Cos_Monto","Cos_Observacion")');
	 IBQ_Edit.SQL.Add('Values (:P1,:P2, :P3, :P4)');
	 IBQ_Edit.Params[0].AsString := IntToStr(IBQ_Select['Par_Orden']);
	 IBQ_Edit.Params[1].AsString := Costos.Costos_Paso.Cells[0,i];
	 IBQ_Edit.Params[2].AsFloat  := StrToFloat(Costos.Costos_Paso.Cells[2,i]);
	 IBQ_Edit.Params[3].AsString := Costos.Costos_Paso.Cells[3,i];
	 IBQ_Edit.ExecSQL;
End;
IBT_Edit.Commit; //Actualizo la transacción...
Código para consultar por cargos sin autorizar...
Código:
IBQ_Select.Close;
IBQ_Select.SQL.Clear;
IBQ_Select.SQL.Add('Select * from "Costos","Area","Privilegio"');
IBQ_Select.SQL.Add('Where "Costos"."Are_Codigo"="Area"."Are_Codigo"');
IBQ_Select.SQL.Add('And "Costos"."Cos_Vb"=0');
IBQ_Select.SQL.Add('And "Area"."Are_Codigo"="Privilegio"."Are_Codigo"');
IBQ_Select.SQL.Add('And "Privilegio"."Usu_Numero"=:Var1');
IBQ_Select.SQL.Add('Order By "Ord_Numero"');
IBQ_Select.Params[0].AsString := Sw4;
IBQ_Select.Open;
If IBQ_Select.RecordCount > 0 Then  
	 Mensaje;  // para este mensaje utilizo el msnpoppup
Bueno.. esta consulta depende del usuario que ingresa al Sistema...(Sw4) y de los privilegios que tiene... si el total de registro es mayor a 0, despliego el mensaje...
__________________
BlueSteel
Responder Con Cita
  #4  
Antiguo 06-04-2005
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 23
maeyanes Va por buen camino
Prueba iniciando una transacción antes de cada lectura de registros...

El problema podría estar en que la parte que hace la consulta de los registros siempre usa una transacción que se inicia al momento de que se conecta a la base de datos y permanece abierta todo el tiempo y por eso las consultas no "ven" los registros nuevos...



Saludos...
Responder Con Cita
  #5  
Antiguo 06-04-2005
islu islu is offline
Miembro
 
Registrado: jun 2003
Posts: 111
Poder: 21
islu Va por buen camino
Hola a todos.

Yo tengo un programa similar al que comentas, y el amigo maeyanes tiene toda la razón, iniciando una transacción antes de leer y finalizándola al terminar, y de igual modo al escribir los datos te funcionará.
En mi caso, opté por utilizar los componentes del BDE, con lo que te despreocupas del tema, ya que lo hace el solito....

Saludos.
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


La franja horaria es GMT +2. Ahora son las 02:37:13.


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