Ошибка в снипете архивации, не обновляет значение переменной

  • Автор темы Автор темы kolllak
  • Дата начала Дата начала

kolllak

Client
Регистрация
16.08.2011
Сообщения
41
Реакции
5
Баллы
8
архивирую найденным тут же снипетом папку, первый цикл все ОК
на втором ошибка
одна из переменных увеличивается за цикл на 1, а в снипете почему-то используется старое первое значение. Причем при отладке в майкере, после открытия в расширенном редакторе окошка своих переменных код корректно отрабатывает с новым значением..

Код:
Развернуть Свернуть Копировать
ZipFile zf = new ZipFile(@"{-Variable.homedir-}\{-Variable.mask_folder_name-}{-Variable.start_number_folder-}.zip"); /*файл архива*/
zf.ProvisionalAlternateEncoding = Encoding.GetEncoding("cp866");
/*zf.Password = "sakhalin"; устанавливаем пароль*/
zf.AddDirectory(@"{-Variable.homedir-}\{-Variable.mask_folder_name-}{-Variable.start_number_folder-}"); /*Папка на диске которую хотим поместить в архив со всем содержимым*/
zf.UseZip64WhenSaving = Zip64Option.AsNecessary; /*при сжатии файлов в несколько гигабайт*/
zf.Save(); /*Сохраняем архив*/

переменная {-Variable.start_number_folder-} в строке пути к папке для упаковки
слэш добавлен после корня так как у меня он отсутствует в переменной {-Variable.homedir-}
в логе имено ошибка пути где стоит значение предыдущего цикла хотя в переменных оно уже изменилось

видел пост о том что нельзя так использовать переменные в снипете, но они работают, поэтому подумал что это актуально по старой версии зенно
 
прочитал о передаче переменныз проекта в с++, подскажите если я задам переменные следующим образом:
Код:
Развернуть Свернуть Копировать
string homedir = project.Variables["homedir"].Value;
string mask_folder_name = project.Variables["mask_folder_name"].Value;
string start_number_folder = project.Variables["start_number_folder"].Value;
как мне их потом правильно указать в пути?
"{-Variable.homedir-}\{-Variable.mask_folder_name-}{-Variable.start_number_folder-}"

мдя какие варианты только не пробовал
 
я не первый, понимаю
сгенерировал путь в одну переменную
передаю вроде по правилам в с++
не пашет..
Код:
Развернуть Свернуть Копировать
ZipFile zf = new ZipFile(@"project.Variables["zip_arhiv"].Value");
zf.ProvisionalAlternateEncoding = Encoding.GetEncoding("cp866");
zf.AddDirectory(@"project.Variables["papka"].Value");
zf.UseZip64WhenSaving = Zip64Option.AsNecessary;
zf.Save();
 
C#:
Развернуть Свернуть Копировать
ZipFile zf = new ZipFile(project.Variables["zip_arhiv"].Value); // в переменной должен быть путь, напр., C:\arhiv.zip
zf.ProvisionalAlternateEncoding = Encoding.GetEncoding("cp866");
zf.AddDirectory(project.Variables["papka"].Value); // Путь к директории, напр., C:\folder
zf.UseZip64WhenSaving = Zip64Option.AsNecessary;
zf.Save();
 
спасибо, собрал переменные до входа в с++, все работает
 
Последнее редактирование:
Только не С++ а C# )
 

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)