Показать сообщение отдельно
Старый 12.11.2010, 20:16   #31  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2476 (88) +++++++++
Регистрация: 20.08.2005
Цитата:
Сообщение от Владимир Максимов Посмотреть сообщение
2. Не понял как быть, если currentDirectory не указано. Пустую строку createProcess принять не может. Предполагается, что если директория не указана, то надо передать NULL, но как это "разрулить" в данном случае - не понятно...
Можно так
X++:
anytype currentDirectoryValue;
;
    createProcess.arg(  ExtTypes:: DWORD,   // in      LPCTSTR lpApplicationName,
...
                        _currentDirectory ? ExtTypes::STRING : ExtTypes::Dword,   // in      LPCTSTR lpCurrentDirectory,
...
        if (currentDirectory)
            currentDirectoryValue = _currentDirectory;
        else
            currentDirectoryValue = 0;
        if (! createProcess.call(0, _commandLine, 0, 0, 0, _creationFlags, 0, currentDirectoryValue, strartupInformation, processInformation))
            throw error(strfmt("Ошибка при запуске приложения \"%1\"", _commandLine));
Или это был не вопрос?
__________________
Axapta v.3.0 sp5 kr2