AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: База знаний и проекты
NAV
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 13.11.2010, 11:41   #1  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,715 / 1204 (44) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Вопрос, вопрос... Да, была идея менять определение типа аргумента в createProcess, но мне показалось это слишком громоздким решением. Впрочем, если другого способа нет, то можно и так
Старый 03.02.2011, 06:38   #2  
offenmeier is offline
offenmeier
HAI; CAN HAS STDIO?
Аватар для offenmeier
Соотечественники
 
77 / 36 (2) +++
Регистрация: 17.02.2005
Адрес: Auckland, NZ
такой ещё вариант: я запаковывал файлы отчётов (PDF) в архив и отсылал клиенту в пакетной обработке.

использовал как архиватор Info-ZIP, он свободно распространяется и для частного и для бизнес-использования.

для запуска использовал System.Diagnostics.Process, потому что задолбался переписывать методы из WinApi толком в WinApiServer (AX 2009)

в классе это выглядело так:

X++:
void packPDF()
{
    str     zipExePath = "\"C:\\Program Files\\Info-ZIP\\zip.exe\"";
    str     parameters;
    str     quote = "\"";

    System.Diagnostics.Process  processZIP;

    str enquote(str _parm)
    {
        _parm = quote + _parm + quote;
        return _parm;
    }
    ;    

    parameters = "";
    parameters += "-j ";                // do not create folder node
    parameters += "-9 ";                // mid level of packing
    parameters += "-m ";                // move to archive (delete after packing)

    parameters += enquote(zipFile) + " ";        // new zip file name

    parameters += enquote(folderPath + "*.pdf"); // all pdf files please

    new InteropPermission(InteropKind::ClrInterop).assert();

    processZIP = System.Diagnostics.Process::Start(zipExePath, parameters);
    processZIP.WaitForExit();

    CodeAccessPermission::revertAssert();
}
после WaitForExit() у процесса можно и спросить, с каким кодом он там завершился, насколько я помню, давно делал.
__________________
our sharp bitter vitriol is not that of the vulgar.
За это сообщение автора поблагодарили:  (2).
Теги
winapi, zip, архивирование, законченный пример, полезное, программирование, разархивировать

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Программное сохранение автоотчета в архив печати. Dima_Dima DAX: Программирование 3 29.07.2009 17:36
axaptapedia: Autozip for Dax 4.0 Blog bot DAX Blogs 0 30.04.2008 16:05
Как скачать и разархивировать файл Arahnid DAX: Программирование 10 16.11.2007 16:22
Архив technet.damgaard.com ? Torin DAX: Прочие вопросы 9 10.06.2005 20:30

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 15:25.