Ver Mensaje Individual
  #2  
Antiguo 12-08-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: 19.441
Reputación: 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
Para saber si te funcionan las estructuras (en concreto try..except), habría que saber cómo las estás incluyendo en tu código, de todas formas, me parece que hay un error en el diseño.

Por defnición un Try..finally, hace que si falla lo que hay en el Try, se ejecute forzosamente lo que hay en el Finally.

No me acaba de quedar claro porqué tienes en el Finally ese código. Creo que no es la estructura adecuada para este caso. Creo que bastaría con algo así:

Código Delphi [-]
  try
    QidExterno.Active := True;
    idlocal := QidExterno.Fields[0].AsString;
  Except
    // Mostrar el error o guaradarlo si hace falta
    //...
    // adegurarnos de que vale 0 (está más arriba)
    idLocal := 0;
  end;
  //obtengo los registros pendientes de subir de la Tabla Local
  if StrToInt (idlocal) <> 0 then
    ...

El código que hay en el Finally no cumple la premisa de que se deba ejecutar siempre, puesto que si hay error, tú mismo no lo ejecutas.
__________________
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