Hola de nuevo,
poco a poco voy avanzando en el problema.
Aunque agradezco a Nelson su interés y dedicación, el programa que estoy haciendo realmente funciona bien.
Después de hacer varias comprobaciones, he detectado que el bucle funciona como debería.
El problema surge porque uno de los registros del archivo viene con un campo que no contiene ningún valor, así, al llegar a esta línea
Código Delphi
[-]if Item[j].NodeName = 'ean' then
t_EAN:=Item[j].FirstChild.NodeValue;
me da el error SIGSEGV.
Intento solucionarlo añadiendo una cláusula if...
Código Delphi
[-]if Item[j].NodeName = 'ean' then
if Item[j].FirstChild.NodeValue = '' then
t_EAN := 'XXXXXXXXXXXXX';
pero sigue saltando el error SIGSEGV al comparar NodeValue con una cadena vacía.
No lo entiendo, se supone que el valor de NodeValue es un DOMString->XMLString->WideString con lo que no debería saltar el error...
PD. He detectado que en realidad, el error salta en la línea
Código Delphi
[-]if Item[j].NodeName = 'ean' then
sin ni siquiera entrar al segundo if...