Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

DOS+Windows


Andrey ©   (2003-03-11 11:03:00) 

Вопрос: Как организовать общение DOS-приложения (D) с Windows-приложением (W).

Собственно понятно, что можно через создание файла на диске сообщить W-приложению о каком-то событии и даже передеть данные. Но это не подходит для обратной связи W->D.

Так же вычитал у Тейксейры и Пачеко, что можно организовать такой общение через OLE1-OLE2.

А вопрос где бы про это OLE1 почитать?


P.S. Если есть другие способы организации подобного общения было бы очень интересно услышать.


Vlad V. Oshin   (2003-03-12 12:53:00) [1]


> Но это не подходит для обратной связи W->D.

почему?


Cobalt   (2003-03-12 09:05:00) [2]

> Andrey © (11.03.03 16:51)
Вот блин, так у тебя еще и пользователь работает с Дос-прогой?
В ТЗ не было никакого пользователя!!!
Огласите ВСЁ ТЗ, пожалста!


Andrey   (2003-03-11 16:51:00) [3]

>Cobalt
Насколько я понимаю stdout - это стандартное устройство вывода (грубо говоря handle окна консоли). Если его переназначить значит на консоль ничего небудет писатся, а будет передаватся в то куда я переназначу. Значит чтоб пользователь незаметил разници нужно из Win-программы анализировать то что мне передает DOS-приложение и дублировать на консоль ту часть которая предназначается не Win, а пользователю. Тоже самое и с stdin...

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


А pipes, насколько я понял имеются ввиду Named Pipes? С этим неимел дела, незнаю...


Cobalt   (2003-03-11 16:23:00) [4]

Под переназначением подразумевается то, что прога пишет/читает не на/с экран/а (стандартный stdin/stdout), а в твои хендлы (кажись, это и есть пайпы(? не уверен)).
И ты сможешь перехватывать ввод/вывод Дос-проги


Andrey   (2003-03-11 14:38:00) [5]

>Opuhshii
Если можно поподробнее.

>Cobalt
>stdin/stdout
Хм... Может быть, но как-то нехочется их переназначать т.к. DOS-приложение активно работает с консолью, а переназначение (насколько я понимаю) приведет к полной неработоспособности консоли.

А через файлы опятьже нехочется, т.к. получается односторонний поток D->W и крайне медленно.


Cobalt   (2003-03-11 14:21:00) [6]

OLE? Гм, странно.
Насколько я знаю, можно сделать нечто вроде интерактивного общения через ввод-вывод(Win-прога запускает Дос-прогу, переназначая ей хендлы stdin/stdout/stderr), ну и надо разработать протокол общения.
Например, Дос-прога выводит сообщение, что, мол, данные готовы, пресс эни кей :-) Вин прога посылает кей, и читает данные. Или в тексте сообщения - имя файла, в котором данные лежат.
А еще можно зашифровать все...


Opuhshii   (2003-03-11 14:15:00) [7]

Pipes


Наверх

Титульная страница Поиск, карта сайта Написать письмо