Всем привет!
Вот сегодня понадобилось преобразовать текстовый файл размером 86.4 мб (UNICODE) в ANSI но в процессе преобразования программа вылетает с ошибкой: Runtime error 216 at 00032D10.
В момент преобразования свободной памяти (озу) было ~1600 мб.
Пример:
code_23696.txt
Текстовый файл: удалён
OS: Win XP SP3
SVN: 197
Компилятор: Delphi 4 (kol_delphi_upd16)
Этот топик читают: Гость
Ответов: 1841
Рейтинг: 369
|
|||
карма: 1 |
| ||
файлы: 1 | code_23696.txt [505B] [567] |
Ответов: 893
Рейтинг: 18
|
|||
Сожалею но невидимых элементов не имею
|
|||
карма: 0 |
|
Разработчик
Ответов: 26163
Рейтинг: 2127
|
|||
Byuik писал(а): Сожалею но невидимых элементов не имеюА откуда там невидимые элементы Похоже на то, что конвертор UNICODE_ANSI не может работать с таким размером текста. Желательно конвертить по четным кускам, отступив три байта, тк файл имеет BOM |
|||
карма: 22 |
|
Ответов: 893
Рейтинг: 18
|
|||
карма: 0 |
| ||
файлы: 1 | nounit.png [4.3KB] [659] |
Гость
Ответов: 17029
Рейтинг: 0
|
|||
Редактировалось 6 раз(а), последний 2021-06-24 08:55:43 |
|||
карма: 0 |
|
Ответов: 758
Рейтинг: 112
|
|||
карма: 1 |
| ||
файлы: 1 | code_23703.txt [467B] [557] |
Разработчик
Ответов: 26163
Рейтинг: 2127
|
|||
miver писал(а): А если так попробыватьЭто UNBICODE, а не обычный текст. При первом же нуле он закончит загрузку в StrList. Специально проверил и подцепил результирующий StrList, он записал ровно три байта, что и требовалось доказать, тк четвертый байт равен нулю |
|||
карма: 22 |
|
Ответов: 758
Рейтинг: 112
|
|||
карма: 1 |
| ||
файлы: 1 | code_23704.txt [466B] [543] |
Разработчик
Ответов: 26163
Рейтинг: 2127
|
|||
CriDos, обновись с SVN и проверь свой пример
|
|||
карма: 22 |
| ||
Голосовали: | CriDos |
Ответов: 1841
Рейтинг: 369
|
|||
nesco, да, теперь процесс преобразования проходит без проблем! Спасибо!
|
|||
карма: 1 |
|
10