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

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-}
в логе имено ошибка пути где стоит значение предыдущего цикла хотя в переменных оно уже изменилось

видел пост о том что нельзя так использовать переменные в снипете, но они работают, поэтому подумал что это актуально по старой версии зенно
 

kolllak

Client
Регистрация
16.08.2011
Сообщения
41
Благодарностей
5
Баллы
8
прочитал о передаче переменныз проекта в с++, подскажите если я задам переменные следующим образом:
Код:
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-}"

мдя какие варианты только не пробовал
 

kolllak

Client
Регистрация
16.08.2011
Сообщения
41
Благодарностей
5
Баллы
8
я не первый, понимаю
сгенерировал путь в одну переменную
передаю вроде по правилам в с++
не пашет..
Код:
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();
 

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 122
Баллы
113
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();
 

kolllak

Client
Регистрация
16.08.2011
Сообщения
41
Благодарностей
5
Баллы
8
спасибо, собрал переменные до входа в с++, все работает
 
Последнее редактирование:

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 715
Баллы
113
Только не С++ а C# )
 

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