PDA

Ver la Versión Completa : Delphi 2006, se queda bloqueado...


jmlifi
11-07-2006, 15:06:03
Tengo el siguiente código:
procedure TEdTrabajoFrm.SalvaPzas;
var
n, PosT : integer;
Pedido : longint;
Orden : string;
begin
PosT := 0;
with TrabajosFrm do begin
PzasTrabajo.OnNewRecord := nil;
try
for n:=1 to nPzas do begin
ExtPedidoOrden(dtPiezas[n].Cliente,Pedido,Orden);
if dtPiezas[n].Cant>0 then begin
inc(PosT);
PzasTrabajo.Append;
PzasTrabajoCODIGO.AsInteger := self.nOrden;
PzasTrabajoPOS.AsString := AddCeros(PosT,3);
PzasTrabajoPEDIDO.AsInteger := Pedido;
PzasTrabajoO_PED.AsString := Orden;
PzasTrabajoCANT.AsInteger := dtPiezas[n].Cant;
PzasTrabajoTIEMPO.AsFloat := dtPiezas[n].Tiempo / 60; // en min
PzasTrabajo.Post;
end
end
finally
PzasTrabajo.OnCalcfields := PzasTrabajoCalcfields
end
end
end;

cuando llego a "PzasTrabajoCODIGO.AsInteger := self.nOrden;" se queda bloqueado. nOrden tiene valor. ¿ a qué se debe ?

marcoszorrilla
11-07-2006, 15:13:15
Prueba a comentar esa línea, a ver si el resto va bien.

//PzasTrabajoCODIGO.AsInteger := self.nOrden;
//o
PzasTrabajoCODIGO.AsInteger := 8;


Un Saludo.

jmlifi
11-07-2006, 15:16:01
ya lo intente antes. Pero, sigue igual

mamcx
11-07-2006, 15:17:26
Que valor?
Se queda bloqueado en el debugger?
Tienes al menos el primer patch de D2006?

jmlifi
11-07-2006, 15:23:07
Si comento
//PzasTrabajoCODIGO.AsInteger := self.nOrden;
PzasTrabajoPOS.AsString := AddCeros(PosT,3);
...
...
...


el error da en

PzasTrabajoPOS.AsString := AddCeros(PosT,3);

mamcx
11-07-2006, 23:26:51
Porque haces un loop con for en vez de un while?

Sera que el objeto esta null?