1 апреля, среда 20:22
Bankir.Ru

Объявление

Свернуть
Пока нет объявлений.

И снова DosExec

Свернуть
X
  • Фильтр
  • Время
  • Показать
Очистить всё
новые сообщения

  • И снова DosExec

    Здравствуйте,
    Активно пользуем данную функцую в разных целях, в частности для разъархивирования файлов и-банка. Раздражает мелькание консольных окон в момент отработки. может кто подскажет как избавиться от них при вызове DosExec или другие пути решения вызова внешней задачи (например бат-файла)

  • #2
    Хм... Сдается мне, что прямым способом, из Кворума, мигание консольного окна подавить не получится. Для этого функция, вызывающая экземпляр командного процессора, должна явно сообщить его окну, что оно должно открываться в скрытом режиме (свойство окна SW_HIDE вместо обычного SW_SHOWDEFAULT). А эта функция разумеется сидит в EXE, и поменять ее могут только разработчики Кворума. А они этого разумеется делать не будут, разве что за отдельную плату.

    Что касается "других путей", то они конечно есть, хотя и слегка извращенные.
    Ну например, есть идея, чтобы внешний батник вызывался не с рабочей станции пользователя, а с сервера Оракла (для оракловой версии АБС). Тогда и консольное окно будет мигать на сервере, и его никто не заметит. Реализуется написанием собственной хранимой процедуры на PL/SQL, которая будет вызывать внешний bat через Java.

    Другая идея - пусть Кворум в нужный момент записывает в заранее определенный каталог какой-нибудь файл (текст, отчет и т.п.). А где-то (на другой машине?) отдельно висит резидентная программа, которая мониторит этот каталог на предмет появления новых файлов. И по факту их появления уже эта программа запускает нужный bat. Реализовать мониторинг каталога можно, например, через известную утилиту nnCron, она это умеет. Или самим написать какую-нибудь мониторилку с использованием функции WinAPI ReadDirectoryChangesW.

    Что-то в этом роде...

    Комментарий


    • #3
      Как одно из решений могу предложить запуск клиентской части Кворум не в M$ WINDOWS, а в linux из под wine. Работает сие очень хорошо на 64-хбитной системе. Есть только проблема с чепятью, которую etersoft сейчас занимается, хотя я сделал свое ректальное решение, которое перехватывает задание на чепять и лезет к реальному файлу, который обрабатывается и вместо галиматьи из wineps формируется номальный ps файл, который передается cups серверу, а далее выводится на принтер. Для любой другой обработки файлов можно использовать механизм inotify и преобразовывать нужное в любой формат и решить например проблему затаскивания отчетов в excel файл используя perl скрипты, которые нормально могут преобразовать файл любого размера, которые не может даже показать клиентская часть Кворум (с такой проблемой часто сталкивались при формировании выписок за большой период). Походу в скриптах можно делать вставки через DBD::Oracle и лазить в базу за нужными данными, которых нет о отчете.

      Комментарий

      Обработка...
      X