Что нового

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

joiner

Модератор
Локальный модератор
Сообщения
3,556
Репутация
628
В библиотеке есть функция
Код:
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

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

inververs

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

joiner

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

Astel064

Помог мой пост, ставь +!
Сообщения
276
Репутация
51
joiner [?]
inverversя его и не использую
smiley.gif
но мне нужно прервать процесс добавления в архив без выхода всей программы
Если Вам не лень по извращаться, то предлагаю создать дочерний процесс, который будет заниматься архивами, наладить обмен данными между родительским и дочерним процессом.
Или, как вариант - использовать консольный 7z.exe :smile:
 
Автор
joiner

joiner

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

Astel064

Помог мой пост, ставь +!
Сообщения
276
Репутация
51
joiner [?]
использовать дополнительный exe очень не хочется. тут делов то - завершить процесс сжатия . привязывать костыли к ногам не лучший вариант
Ну тогда я тут не помощник, я как-то раз уже пытался изменить 7zip_udf, но все закончилось серией ошибок... :smile:
 
Автор
joiner

joiner

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