Четверг, 14.11.2024, 01:28
Главная Регистрация RSS
Приветствую Вас, Гость
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Ошибки под LINUX
redkayaexotikaДата: Воскресенье, 16.05.2021, 16:44 | Сообщение # 121
Сержант
Группа: Пользователи
Сообщений: 33
Репутация: 6
Статус: Оффлайн
Подправил распаковщик:

Код
Процедура РаспаковатьФайлВнешнейОбработки(ПолноеИмяФайла, ПутьРаспаковки) Экспорт  
 
    //ПроверитьСоздатьФайлЗапаковщика1С();
    Разделитель = ирОбщий.РазделительПутиКФайлуЛкс();
    ПодготовитьПакер(ПутьРаспаковки);
    ИмяФайлаЛога = "unpack.log";
    Если Истина
        //И Ложь // Для отладки
        И ирКэш.ЛиПлатформаWindowsЛкс()  
    Тогда
        ИмяКомандногоФайла = "unpack.bat";
        ТекстовыйДокумент = Новый ТекстовыйДокумент;
        ТекстовыйДокумент.УстановитьТекст("
        |" + ИмяФайлаПакера + " -unpack  %1 .\
        |FOR %%I IN (*.data) DO " + ИмяФайлаПакера + " -undeflate %%I %%~nI.data.und
        |FOR %%I IN (*.und)  DO " + ИмяФайлаПакера + " -unpack    %%I %%~nI.und.unp
        |");
        ПолноеИмяКомандногоФайла = ПутьРаспаковки + Разделитель + ИмяКомандногоФайла;
        ТекстовыйДокумент.Записать(ПолноеИмяКомандногоФайла, КодировкаТекста.ANSI);
        ирОбщий.ЗапуститьСкрытоеПриложениеИДождатьсяЗавершенияЛкс(ИмяКомандногоФайла + " """ + ПолноеИмяФайла + """", ПутьРаспаковки,, ИмяФайлаЛога);
    Иначе
        // Под Windows этот способ медленнее в 5 раз
        // У версии под Linux немного отличаются параметры запуска по сравнению с Windows https://github.com/e8tools/v8unpack
        //СДВ(
        //Было:
        //ирОбщий.ЗапуститьСкрытоеПриложениеИДождатьсяЗавершенияЛкс("./" + ИмяФайлаПакера + " -U """ + ПолноеИмяФайла + """ ./", ПутьРаспаковки,, ИмяФайлаЛога,,, Истина);
        //Стало:
        ПолноеИмяПакера = ПутьРаспаковки + ИмяФайлаПакера;
        ирОбщий.ЗапуститьСкрытоеПриложениеИДождатьсяЗавершенияЛкс(ПолноеИмяПакера + " -U """ + ПолноеИмяФайла + """ ./", ПутьРаспаковки,, ИмяФайлаЛога,,, Истина);
        //СДВ)
        Для Каждого Файл Из НайтиФайлы(ПутьРаспаковки, "*.data") Цикл
            #Если Сервер И Не Сервер Тогда
                Файл = Новый Файл;
            #КонецЕсли
            //  Можно наверное ускорить созданием командного файла
            //СДВ(
            //Было:
            //ирОбщий.ЗапуститьСкрытоеПриложениеИДождатьсяЗавершенияЛкс("./" + ИмяФайлаПакера + " -D " + Файл.Имя + " " + Файл.Имя + ".und", ПутьРаспаковки,, ИмяФайлаЛога,,, Истина);
            //ирОбщий.ЗапуститьСкрытоеПриложениеИДождатьсяЗавершенияЛкс("./" + ИмяФайлаПакера + " -U " + Файл.Имя + ".und " + Файл.Имя + ".und.unp", ПутьРаспаковки,, ИмяФайлаЛога,,, Истина);
            //Стало:
            ирОбщий.ЗапуститьСкрытоеПриложениеИДождатьсяЗавершенияЛкс(ПолноеИмяПакера + " -D " + Файл.Имя + " " + Файл.Имя + ".und", ПутьРаспаковки,, ИмяФайлаЛога,,, Истина);
            ирОбщий.ЗапуститьСкрытоеПриложениеИДождатьсяЗавершенияЛкс(ПолноеИмяПакера + " -U " + Файл.Имя + ".und " + Файл.Имя + ".und.unp", ПутьРаспаковки,, ИмяФайлаЛога,,, Истина);
            //СДВ)
        КонецЦикла;
    КонецЕсли;
    ЧитатьЛог = Ложь; // Для отладки
    Если ЧитатьЛог Тогда
        ТекстовыйДокумент = Новый ТекстовыйДокумент;
        ТекстовыйДокумент.Прочитать(ПутьРаспаковки + Разделитель + ИмяФайлаЛога, ирОбщий.СистемнаяКодировкаТекстаОСЛкс());
        ТекстЛога = ТекстовыйДокумент.ПолучитьТекст();  
    КонецЕсли;  
    УдалитьФайлы(ИмяФайлаЛога);
 
КонецПроцедуры

 
tormozitДата: Воскресенье, 16.05.2021, 17:00 | Сообщение # 122
Генералиссимус
Группа: Администраторы
Сообщений: 6451
Репутация: 168
Статус: Оффлайн
Сообщите, установлена ли у тебя утилита unzip?
 
nclockworkerДата: Воскресенье, 16.05.2021, 17:04 | Сообщение # 123
Генерал-майор
Группа: Пользователи
Сообщений: 437
Репутация: 342
Статус: Оффлайн
Нам теперь нужна версия файла распаковщика под Linux:

Прикрепления: 2890259.jpg (58.0 Kb)
 
nclockworkerДата: Воскресенье, 16.05.2021, 17:11 | Сообщение # 124
Генерал-майор
Группа: Пользователи
Сообщений: 437
Репутация: 342
Статус: Оффлайн
Цитата tormozit ()
Сообщите, установлена ли у тебя утилита unzip?

Есть такое дело:



И даже стоит ZipInfo для Linux, который видимо и есть тот самый "Распаковщик" с расширением .exe

Прикрепления: 9718916.jpg (113.0 Kb) · 9425413.jpg (77.6 Kb)


Сообщение отредактировал nclockworker - Воскресенье, 16.05.2021, 17:15
 
tormozitДата: Воскресенье, 16.05.2021, 17:12 | Сообщение # 125
Генералиссимус
Группа: Администраторы
Сообщений: 6451
Репутация: 168
Статус: Оффлайн
Сделал версию с кротким путем к распаковщику, запуском через bash и использованием уже установленного распаковщика unzip  https://www.hostedredmine.com/attachments/408271
 
tormozitДата: Воскресенье, 16.05.2021, 17:18 | Сообщение # 126
Генералиссимус
Группа: Администраторы
Сообщений: 6451
Репутация: 168
Статус: Оффлайн
Цитата nclockworker ()
И даже стоит ZipInfo для Linux, который видимо и есть тот самый "Распаковщик" с расширением .exe
Не понял разницу между unzip и ZipInfo. Какая из них имеет бОльшую вероятность быть уже установленной на Linux?
 
redkayaexotikaДата: Воскресенье, 16.05.2021, 17:21 | Сообщение # 127
Сержант
Группа: Пользователи
Сообщений: 33
Репутация: 6
Статус: Оффлайн
Код
{ИнструментыРазработчикаTormozit Обработка.ирСинтаксПомощник.Форма.Форма.Форма(294)}: Значение не является значением объектного типа (Имя)
        ирОбщий.ЗапуститьСкрытоеПриложениеИДождатьсяЗавершенияЛкс(ФайлРаспаковщикаZIP.Имя + " -o """ + ФайлСодержания.ПолноеИмя + """ -d """ + РабочийКаталог + """");

ФайлРаспаковщикаZIP = "unzip" (Строка)
 
tormozitДата: Воскресенье, 16.05.2021, 17:23 | Сообщение # 128
Генералиссимус
Группа: Администраторы
Сообщений: 6451
Репутация: 168
Статус: Оффлайн
Код
ФайлРаспаковщикаZIP = Новый Файл("unzip");

Поправьте пока сами функцию ПолучитьФайлРаспаковщикаZIP()
 
nclockworkerДата: Воскресенье, 16.05.2021, 17:28 | Сообщение # 129
Генерал-майор
Группа: Пользователи
Сообщений: 437
Репутация: 342
Статус: Оффлайн
Похоже, что пока неверно распаковщик определяет, все пытается временный использовать:

Прикрепления: 2638251.jpg (69.1 Kb)
 
tormozitДата: Воскресенье, 16.05.2021, 17:33 | Сообщение # 130
Генералиссимус
Группа: Администраторы
Сообщений: 6451
Репутация: 168
Статус: Оффлайн
Цитата nclockworker ()
неверно распаковщик определяет, все пытается временный использовать
Очень странно. Покажи определение функции ПолучитьФайлРаспаковщикаZIP() . Вроде бы на Linux она не может возвращать имя временного файла.
 
nclockworkerДата: Воскресенье, 16.05.2021, 17:36 | Сообщение # 131
Генерал-майор
Группа: Пользователи
Сообщений: 437
Репутация: 342
Статус: Оффлайн
Цитата tormozit ()
Не понял разницу между unzip и ZipInfo. Какая из них имеет бОльшую вероятность быть уже установленной на Linux?


Ну можно через НайтиФайлы пошариться в /usr/bin каталоге, там есть unzip и zipinfo. Если одну не найдешь, то ищи вторую, а если и её не найдешь, то еще стоит 7z в /usr/bin. Ну если и её не найдешь, то используй платформенный ЧтениеZipФайла (доступен с 8.0). ))

Новая ошибка:

Цитата
COM-объекты поддерживается только в операционных системах Windows
{ИнструментыРазработчикаTormozit ОбщийМодуль.ирОбщий.Модуль(33422)}: Результат = Новый COMОбъект("HtmlFile");
{ИнструментыРазработчикаTormozit Обработка.ирСинтаксПомощник.Форма.Форма.Форма(43)}: Документ = ирОбщий.ПолучитьHtmlFileИзТекстаHtmlЛкс(ирОбщий.ПрочитатьТекстИзФайлаЛкс(ирОбщий.ПервыйФрагментЛкс(НовыйАдрес, "#")));
{ИнструментыРазработчикаTormozit Обработка.ирСинтаксПомощник.Форма.Форма.Форма(113)}: НовыйАдрес = ЗагрузитьНовуюСтраницу(НовыйОтносительныйАдрес, ЛиСтрокаДляПодсветкиИзменилась);
{ИнструментыРазработчикаTormozit Обработка.ирСинтаксПомощник.Форма.Форма.Форма(607)}: ОткрытьАдрес(ОтносительныйПутьКОписанию, СтрокаДляПодсветки);
{ИнструментыРазработчикаTormozit Обработка.ирСинтаксПомощник.Форма.Форма.Форма(473)}: ОткрытьСтраницуСтрокиПоиска();
{ИнструментыРазработчикаTormozit Обработка.ирПлатформа.МодульОбъекта(1142)}: выхФормаВыбора.ВыбратьИскомуюСтроку(НачальнаяСтрокаВыбора, БезусловнаяАктивизацияРезультатов);
{ИнструментыРазработчикаTormozit Обработка.ирСинтаксПомощник.Форма.Форма.Форма(622)}: мПлатформа.ВыбратьСтрокуОписанияИзМассиваСтруктурТипов(СтруктураЦикла, ВключатьПутьКОписаниюТипаЗначения, , ИскомоеСлово, НомерИскомогоПараметра,
{ИнструментыРазработчикаTormozit Обработка.ирСинтаксПомощник.Форма.Форма.Форма(630)}: ОбновитьРезультатыПоиска();
 
nclockworkerДата: Воскресенье, 16.05.2021, 17:39 | Сообщение # 132
Генерал-майор
Группа: Пользователи
Сообщений: 437
Репутация: 342
Статус: Оффлайн
Цитата tormozit ()
Очень странно. Покажи определение функции ПолучитьФайлРаспаковщикаZIP() . Вроде бы на Linux она не может возвращать имя временного файла.

Прикрепления: 0521434.jpg (22.4 Kb)
 
tormozitДата: Воскресенье, 16.05.2021, 17:40 | Сообщение # 133
Генералиссимус
Группа: Администраторы
Сообщений: 6451
Репутация: 168
Статус: Оффлайн
ЧтениеZipФайла ранее содержало ошибки, из-за которых файлы из синтакс-помощника извлекать было невозможно. Возможно сейчас они уже все исправлены, но на 8.2 они наверняка остались =).
 
tormozitДата: Воскресенье, 16.05.2021, 17:42 | Сообщение # 134
Генералиссимус
Группа: Администраторы
Сообщений: 6451
Репутация: 168
Статус: Оффлайн
nclockworker, у тебя похоже не последняя версия расширения. Последняя - от 17:12 . У redkayaexotika вот например ошибка была уже из новой версии.
 
redkayaexotikaДата: Воскресенье, 16.05.2021, 17:44 | Сообщение # 135
Сержант
Группа: Пользователи
Сообщений: 33
Репутация: 6
Статус: Оффлайн
Цитата tormozit ()
nclockworker, у тебя похоже не последняя версия расширения. Последняя - от 17:12 . У redkayaexotika вот например ошибка была уже из новой версии.
 а я предлагал к пробным релизам тоже номерочки вешать biggrin  или время московское хотя бы
 
Поиск: