Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.07.04;
Скачать: CL | DM;

Вниз

Как перехватить вывод в stdin из функции загруженной из DLL   Найти похожие ветки 

 
mmb   (2004-06-15 15:30) [0]

Из загруженной с помощью LoadLibrary вызывается функция, в процессе работы которой в стандартный вывод выводится неопределённое число строк. Как бы их перехватить и по окончании работы отобразить в (например TMemo).


 
VMcL ©   (2004-06-16 19:15) [1]

CreatePipe() + SetStdHandle(), если не ошибаюсь.


 
mmb   (2004-06-17 12:08) [2]

А где вызывать CreatePipe, SetStdHandle: в библиотеке или в загружающей программе?


 
PVOzerski ©   (2004-06-17 12:32) [3]

>А где вызывать CreatePipe, SetStdHandle: в библиотеке или в загружающей программе?
Я, вообще-то, подумал, что исходники библиотеки недоступны - иначе зачем так изощряться?


 
evvcom ©   (2004-06-17 13:40) [4]


> mmb   (15.06.04 15:30)  

По-моему, твоя ветка была по поводу передачи нескольких строк из dll в основное приложение со всей универсальностью (чтобы и в С и в Фортране работало)? Так чем тогда мой ответ не понравился? Или не смог из Фортрана HeapAlloc вызвать? А это гораздо проще, чем stdin перехватывать (или все же stdout?)


 
mmb   (2004-06-17 16:55) [5]


>  [4] evvcom ©   (17.06.04 13:40)

HeapAlloc из Фортрана можно найти, как вызвать, но оказалось, что в коде этих модулей масса вызовов printfов и putов и мне показалось проще перехватить всю их выдачу. Что бы поменьше перерабатывать кода :)

> [3] PVOzerski ©   (17.06.04 12:32)

Коды как раз доступны, но хотелось бы см. выше


 
evvcom ©   (2004-06-17 17:13) [6]


> Что бы поменьше перерабатывать кода

Я бы всю эту билиберду собрал в какой-нибудь стринг, а потом print этот стринг и в функцию этот стринг. А с перехватом будет гораздо больше переработки.


 
mmb   (2004-06-17 17:33) [7]


>  [6] evvcom ©   (17.06.04 17:13)

Так ведь в Фортране это не так просто, да и Си тоже, а код хотелось бы поменьше трогать



Страницы: 1 вся ветка

Текущий архив: 2004.07.04;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.027 c
14-1087472039
souLLamer
2004-06-17 15:33
2004.07.04
Please дайте живой линк на TAdvStringGrid 2.7.0.0


4-1085254938
kat
2004-05-22 23:42
2004.07.04
Как осуществить чтение данных из своей программы


4-1085303364
ГудБой
2004-05-23 13:09
2004.07.04
Как программно сделать Sussped? NTReboot;


1-1087538164
AngelSAI
2004-06-18 09:56
2004.07.04
Работа с рисунками


6-1083910586
atruhin
2004-05-07 10:16
2004.07.04
В каком потоке выполняется TServerSocket.ClientRead