Что нового

7Zip.UDF - крах скрипта при завершении процесса сжатия

joiner

Модератор
Локальный модератор
Сообщения
2 992
Репутация
501
В библиотеке есть функция
Код:
Func OnAutoitExit()
	If IsDeclared("hDLL_7ZIP") Then
		DllClose($hDLL_7ZIP)
		If $hArchiveProc Then DllCallbackFree($hArchiveProc)
	EndIf
EndFunc   ;==>OnAutoitExit

если вызвать ее во время действия функции _7ZipAdd , то скрипт "выпадает в осадок"
точнее - функция
Код:
DllClose($hDLL_7ZIP)

причина этого.
Может кто работал с этой библиотекой и делал экстренное завершение сжатия так , чтобы скрипт не "крашился"?
 

Skif_off

Новичок
Сообщения
173
Репутация
12
joiner
А она точно нужна? Просто есть в UDF, но нигде не нашёл её вызова.
3.3.4.0 (15th January, 2010) (Release)
AutoIt:
Removed: OnAutoItStart and OnAutoItExit have been removed.
Сейчас, кажется, OnAutoItExitRegister().
А зачем её вызывать во время действия функции _7ZipAdd()? и почему не просто DllClose($hDLL_7ZIP) после?
 
Автор
joiner

joiner

Модератор
Локальный модератор
Сообщения
2 992
Репутация
501
Skif_off [?]
я и написал ранее что как раз это и вызывает крах кода
нужно не завершать скрипт, нужно завершить действие функции
 

inververs

AutoIT Гуру
Сообщения
2 135
Репутация
462
Ну удали этот код, все равно он вызывается при закрытии.
 
Автор
joiner

joiner

Модератор
Локальный модератор
Сообщения
2 992
Репутация
501
inververs
я его и не использую :smile:
но мне нужно прервать процесс добавления в архив без выхода всей программы
 

Astel064

Помог мой пост, ставь +!
Сообщения
270
Репутация
45
joiner [url_ex=javascript:qq.OpenLink('http://autoit-script.ru/index.php?topic=18083.msg109775#msg109775')][?][/url_ex]
inverversя его и не использую
но мне нужно прервать процесс добавления в архив без выхода всей программы
Если Вам не лень по извращаться, то предлагаю создать дочерний процесс, который будет заниматься архивами, наладить обмен данными между родительским и дочерним процессом.
Или, как вариант - использовать консольный 7z.exe :smile:
 
Автор
joiner

joiner

Модератор
Локальный модератор
Сообщения
2 992
Репутация
501
использовать дополнительный exe очень не хочется. тут делов то - завершить процесс сжатия . привязывать костыли к ногам не лучший вариант
 

Astel064

Помог мой пост, ставь +!
Сообщения
270
Репутация
45
joiner [url_ex=javascript:qq.OpenLink('http://autoit-script.ru/index.php?topic=18083.msg109780#msg109780')][?][/url_ex]
использовать дополнительный exe очень не хочется. тут делов то - завершить процесс сжатия . привязывать костыли к ногам не лучший вариант
Ну тогда я тут не помощник, я как-то раз уже пытался изменить 7zip_udf, но все закончилось серией ошибок... :smile:
 
Автор
joiner

joiner

Модератор
Локальный модератор
Сообщения
2 992
Репутация
501
я использую библиотеку, которая идет в комплекте вместе с русской справкой (тема на нашем форуме).
на официальном форуме есть обновленный вариант, но так и не смог создать архив используя стандартный пример из этой библиотеки.
 
Верх