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
idLocal := 0;
end;
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.


