Ver Mensaje Individual
  #7  
Antiguo 02-03-2015
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola CM6ISG.
Cita:
Empezado por CM6ISG Ver Mensaje
...
A la hora de compilar me da el siguiente error

Project Catsimulado.exe raised exception class EStringListError with message ‘List index out bounds (1)’. Process stopped. Use Step or run to continue.
El error que mencionas es debido a que intentas acceder a una posición inexistente de la lista. Es muy probable que sea debido a un cambio en el formato de la línea recibida y no contemplado en el caso que has planteado.

Lo primero es ver que valor contiene la cadena, Str, que obtuviste en la línea
Código Delphi [-]
  ComPort1.ReadStr(Str, Count);
eso lo podes hacer con un simple ShowMessage.

Lo segundo y principal es verificar que no estes indizando posiciones inexistentes, eso lo podes verificar del siguiente modo:
Código Delphi [-]
...
  ExtractStrings(['#'], [], PChar(Str), lCampos);
  ShowMessage(IntToStr(lCampos.Count-1));
Si el valor mostrado es menor a 4, valor que utilizas en la línea:
Código Delphi [-]
 FTR := Copy(StrList[4],3,Length(StrList[4]));
se producirá ese error. Si es menor a 3 será en la anterior y así sucesivamente.

Un caso que produciría el error que mencionas se puede ver en este ejemplo:
Código Delphi [-]
  Str:= '#PO0' + #13#10 + '#SQS' + #13#10 + '#EM0' + #13#10 + '#FT0715000';
Como surge a simple vista luego de
Código Delphi [-]
  ExtractStrings(['#'],[' '], PChar(Str), lCampos);
obtendremos 4 cadenas que serán agregadas en el TStringList en las posiciónes 0,1,2,3; cuando hagas referencia a lCampos[4]... Piff !!!

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita