Не работает ExecProgram

Приемы и подходы, обмен опытом

Модераторы: Screw, larin

Ответить
Max_Ural
партнер
Сообщения: 82
Зарегистрирован: Ср, 19/09/2007 08:35
Имя Фамилия: Максим Шагубаков
Откуда: Галактика-Урал
Контактная информация:

Не работает ExecProgram

Сообщение Max_Ural »

Есть батник:
"d:\autostart\DTExec.exe" /SQL "\NalSHR_work" /SERVER GALAKTIK4 /MAXCONCURRENT " -1 " /CHECKPOINTING OFF /REPORTING V /CONSOLELOG NCOSGXMT /LOGGER "{6AA833A1-E4B2-4431-831B-DE695049DC61}";"GALAKTIK4.Galaktika.BI Meta"

Когда выполняю
ExecProgram(comm, comm2, '', pfFullScreen, res), где
comm : "d:\autostart\DTExec.exe"
comm2 : /SQL "\NalSHR_work" /SERVER GALAKTIK4 /MAXCONCURRENT " -1 " /CHECKPOINTING OFF /REPORTING V /CONSOLELOG NCOSGXMT /LOGGER "{6AA833A1-E4B2-4431-831B-DE695049DC61}";"GALAKTIK4.Galaktika.BI Meta"

В переменной res значение 2068, 2033, 2069.

Подскажите пожалуйста, в чем может быть проблема.
Аватара пользователя
larin
топ-софт
Сообщения: 228
Зарегистрирован: Пн, 10/09/2007 12:13
Имя Фамилия: Михаил Ларин
Откуда: ТопCофт
Контактная информация:

Re: Не работает ExecProgram

Сообщение larin »

Первый параметр функции нужно задавать без "-двойных кавычек. Например так:

Код: Выделить всё

  var comm : string;
  var comm2 : string;
  
  comm := 'd:\autostart\DTExec.exe';
  comm2 :=  '/SQL "\NalSHR_work" /SERVER GALAKTIK4 /MAXCONCURRENT " -1 " /CHECKPOINTING OFF  /REPORTING V  /CONSOLELOG NCOSGXMT  /LOGGER "{6AA833A1-E4B2-4431-831B-DE695049DC61}";"GALAKTIK4.Galaktika.BI Meta"';
  ExecProgram(comm, comm2, '', pfFullScreen, res);
Еще второй параметр из вашего примера довольно близко подобрался к 255 символам по размеру.
Если параметр формируется динамически, проверьте на том рабочем месте, где это не работает, размер строки.
Ответить