v7: AddIn.XMLParser вылетает 1С #755580


#0 by AlexFF
Пытаюсь загрузить xml файл из строки "ОтветМодуляЕГАИС" для последующей обработки и пограмма вылетает. Просто закрывается и все. СтрДлина(ОтветМодуляЕГАИС)=742555 Как быть? Каким образом прочитать такую длинную строку?
#1 by бомболюк
там вроде надо писат ькак то типа СоздатьПоследовательноСчитываемыйДокумент или типа того...
#2 by бомболюк
и с длинными строками в 7ке работать не получается.
#3 by Злопчинский
прочитать и сохранить из 1С внеплатформенными средствами. После концов тегов вставить энтеры внеплатформенными средствами. после этого обработать собственно иксемель штатно
#4 by AlexFF
Спасибо попробую. А энтеры обязательно вставлять?
#5 by AlexFF
Какими, например внеплатформенными средствами можно поставить энтеры?
#6 by spectre1978
Мож, другой парсер? С тем же msxml через OLE поработать?
#7 by Злопчинский
самый тупой вариант: читай посимвольно, выводи в другой файл посимвольно, как встретишь ">" - в вывод добавляй энтер. а потом получишь в итоговом файле не одну строку длиной 700 килобайт а кучу строк вменяемой длины... и обрабатывай чем хошь - темже самым иксемельпарсером..
#8 by trad
если в строке, кроме прочего, появятся ентеры, то строка от этого не станет короче
#9 by Злопчинский
согласен Но все же есть надежда что так будет легче хотя бы в чемто
#10 by spectre1978
вообще 700К, мне кажется, не так уж это и много. А какое ограничение у длины строки в семерке? Нагуглить ничего внятного не смог.
#11 by spectre1978
может, в ответе есть какая-нть байда которая роняет парсер? Другие аналогичные ответы проходят?
#12 by trad
У семерки проблема с передачей длинной строки через COM, коим является, например, передача в метод объекта, реализованного по стандартной технологии ВК. Предельного значения не помню.
#13 by Смотрящий
В 7.7 нету COMа
#14 by spectre1978
что значит "нету COMа"? Создание и вызов ком-объектов вполне себе работает
#15 by spectre1978
не знал об этом, понятно
#16 by Злопчинский
32К вроде
#17 by trad
не какой технологии, по твоему, основана ТСВК
#18 by trad
строки в семерке могут быть очень большие, ограничение - размер доступной виртуальной памяти процесса. Проблема возникает при COM-взаимодействии, на этапе преобразования в/из BSTR. Очень давно изучал этот вопрос, насколько помню, там что то "не чисто" с выделением памяти.
#19 by trad
+ для обхода этой проблемы написал костыль в рамках oleexsup.dll пример
Тэги: 1С 7.7 и ранее
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С