Обсуждение статьи "Работаем с ZIP-архивами средствами MQL5 без использования сторонних библиотек" - страница 2
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Пресловутый кастинг структур ругается. Держите исправленную версию в аттаче.
Оперативно! Большое спасибо!
Сейчас Вашу ошибку внимательно посмотрел - та же ситуация с кастингом структур, но уже в другом контейнере - CDictionary. Замените Include\Dictionary.mqh на вариант приложенный внизу.
И да, под МТ4 все прекрасно работает и скажу больше CZip рабочая лошадка в моих проектах на МТ4.
Осталось вот это:
'm_array' - structures containing objects are not allowed Dictionary.mqh 306 25
Осталось вот это:
'm_array' - structures containing objects are not allowed Dictionary.mqh 306 25
306 строку надо заменить на этот фрагмент:
В аттаче Dictionary для МТ4
306 строку надо заменить на этот фрагмент:
В аттаче Dictionary для МТ4
Логично. Суперспасибо.
PS. Правда для файлов нулевой длины в архиве создается неверный заголовок (в примере ZipTask1) из-за чего они неизвлекаемы, но с этим уже можно разобраться - может быть это что-то в самом тесте.
Логично. Суперспасибо.
PS. Правда для файлов нулевой длины в архиве создается неверный заголовок (в примере ZipTask1) из-за чего они неизвлекаемы, но с этим уже можно разобраться - может быть это что-то в самом тесте.
С нулевой длинной посмотрю что можно сделать.
Вот что не так? Не получается разжать файл zip.zip (скачанный с примера).
Лог.
18:25:47.809 Script zip_arc101 GBPUSD,H1: loaded successfully
0 18:25:47.830 zip_arc101 GBPUSD,H1: initialized
0 18:25:47.830 zip_arc101 GBPUSD,H1: Handle= 1 GetLastError= 0
0 18:25:47.830 zip_arc101 GBPUSD,H1: FileReadArray= 11004
0 18:25:47.830 zip_arc101 GBPUSD,H1: Zip.CreateFromCharArray= true
0 18:25:47.830 zip_arc101 GBPUSD,H1: Archive successfully loaded. Total files: 7
0 18:25:47.836 zip_arc101 GBPUSD,H1: Zip.UnpackZipArchive= false
0 18:25:47.837 zip_arc101 GBPUSD,H1: Zip.UnpackZipArchive= false
0 18:25:47.837 zip_arc101 GBPUSD,H1: Zip.UnpackZipArchive= false
0 18:25:47.837 zip_arc101 GBPUSD,H1: uninit reason 0
0 18:25:47.839 Script zip_arc101 GBPUSD,H1: removed
Метод CZip::UnpackZipArchive почему-то всегда возвращает false, хотя свою работу делает. Это баг. Проверяйте фактическую распаковку натурными наблюдениями.
Метод CZip::UnpackZipArchive почему-то всегда возвращает false, хотя свою работу делает. Это баг. Проверяйте фактическую распаковку натурными наблюдениями.
Да. false но распаковка работает!
Вот еще проблема всплыла, если мне нужно в цикле распаковать несколько архивов подряд, меняя только год в названии.
Распаковывается только d2014.zip и все на этом.
0 01:57:36.772 Script zip_arc104 GBPUSD,H1: loaded successfully
0 01:57:36.807 zip_arc104 GBPUSD,H1: initialized
0 01:57:36.807 zip_arc104 GBPUSD,H1: -------------- DD\d2014.zip
0 01:57:36.815 zip_arc104 GBPUSD,H1: DD\d2014.zip Zip.LoadZipFromFile= true
0 01:57:36.815 zip_arc104 GBPUSD,H1: Archive successfully loaded. Total files: 1
0 01:57:36.906 zip_arc104 GBPUSD,H1: Zip.UnpackZipArchive= false
0 01:57:36.906 zip_arc104 GBPUSD,H1: -------------- DD\d2015.zip
0 01:57:36.912 zip_arc104 GBPUSD,H1: DD\d2015.zip Zip.LoadZipFromFile= true
0 01:57:36.912 zip_arc104 GBPUSD,H1: Archive successfully loaded. Total files: 1
1 01:57:36.912 zip_arc104 GBPUSD,H1: invalid pointer access in 'Zip.mqh' (407,28)
0 01:57:36.913 zip_arc104 GBPUSD,H1: uninit reason 0
0 01:57:36.915 Script zip_arc104 GBPUSD,H1: removed