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

Вниз

Как запускать с параметрами так это легко, а как возвращать...   Найти похожие ветки 

 
TankMan ©   (2004-11-19 13:33) [0]

какое либо значение, т.е.  что моя программа возвращала например строку, которую я,например, получил в программе путем очень сложных манипуляций?
Как то было во время учебы на по Си рассказывали как это делать на Си, но вот давно это было хоть убей не помню :(...


 
PVOzerski ©   (2004-11-19 13:36) [1]

Понять бы еще, куда она эту строку возвратила....


 
Digitman ©   (2004-11-19 13:36) [2]


> очень сложных манипуляций


щас тебе нахлобучат "способов", по самое нехочу причем ..

ты по-русски скажи - мне, мол, нужно интерпроцессное взаимодействие ...


 
Anatoly Podgoretsky ©   (2004-11-19 13:50) [3]

Программы могут возвращать только ErrorCode


 
PVOzerski ©   (2004-11-19 13:58) [4]

О том и речь. Куда строку возвратить хочет автор - в файл, что ли?


 
TankMan ©   (2004-11-19 14:00) [5]

>>DigitMan
..интерпроцессное взаимодействие... ну или так :)

>>PVOzerski
В коммандную строку например...

Для примера, например я пишу в коммандной строке:
"myprog1.exe myprog2.exe" , мне необходимо что бы myprog2.exe вернула параметры myprog1 с которыми она должна запустится... вот :)
Насколько я помню (смутно помню, может чего путаю), это можно реализовать в Си, ну раз в Си значит и тут тоже можно...


 
Мастер ©   (2004-11-19 14:03) [6]

Есть простой метод возврата значения в вызывающее(родительское) приложение(при условии, что родительское приложение дождется окончания выполнения дочернего, конечно).
1. В родительском приложении устанавливается любая переменная окружения.
2. Дочерний процесс присваивает этой переменной нужное значение.

В результате в родительском процессе могут быть доступны любые возвращаемые значения.


 
Digitman ©   (2004-11-19 14:03) [7]


> TankMan ©   (19.11.04 14:00) [5]
> ..интерпроцессное взаимодействие... ну или так :)


а раз так, то :

- win-сообщения
- файлы отображенные в память
- именованые/неименованые программные каналы
- мэйслоты
- и т.д. и т.п.


 
Мастер ©   (2004-11-19 14:06) [8]

Digitman ©   (19.11.04 14:03) [7]


>- win-сообщения
>- файлы отображенные в память
>- именованые/неименованые программные каналы
>- мэйслоты
> - и т.д. и т.п.


Все эти методы предполагают одновременное выполнение процессов.


 
TankMan ©   (2004-11-19 14:07) [9]

>>Мастер
А если рассмотреть конкретный случай примера, который я привел в [5] посте?

>>Digitman
Я не помимаю...


 
Digitman ©   (2004-11-19 14:08) [10]


> Для примера, например


масло масляное


> пишу в коммандной строке:
> "myprog1.exe myprog2.exe" , мне необходимо что бы myprog2.exe
> вернула параметры myprog1 с которыми она должна запустится


мало ли чего ты там "пишешь" ! .. писатель) .. ильфипетров)

с какого перепугу незапущенная программа (цитирую тебя - "должна запустится", т.е. это следует понимать так : когда этот факт еще произойдет на самом деле - одному богу известно) чего-то там передавать может , а ?


 
Мастер ©   (2004-11-19 14:09) [11]

TankMan ©   (19.11.04 14:07) [9]

А что непонятно?

mayprog1 устанавливает переменную окружения и передает имя переменной в myprog2.
myprog2 устанавливает значение этой переменной и заканчивается, myprog1 читает значение, установленное второй программой.


 
TankMan ©   (2004-11-19 14:09) [12]

Я всмысле того, что... как бы это сказать,... а можно чтоль пример какой? т.к. я не представляю как присвоить переменной одного процесса значиние в другом процессе :( или я не правильно понял?


 
Digitman ©   (2004-11-19 14:10) [13]


> TankMan ©   (19.11.04 14:07) [9]
> Я не помимаю...


это печально.
знать, тебе - к Руссиновичу и в MSDN


 
Fay ©   (2004-11-19 14:11) [14]

2 TankMan ©   (19.11.04 14:09) [12]

> а можно чтоль пример какой? т.к. я не представляю как присвоить
> переменной одного процесса значиние в другом процессе

Простых путей не ищем? 8)


 
Мастер ©   (2004-11-19 14:12) [15]

TankMan ©   (19.11.04 14:09) [12]

мда... запущено здорово.

см.
SetEnvironmentVariable
GetEnvironmentVariable


 
TankMan ©   (2004-11-19 14:21) [16]

>>Digitman ©   (19.11.04 14:10) [13]
...Какие-то непонятные фамилии и йероглифы(МСДН) советуешь ;)

Ну все наехали на меня бедного :) ЛАМЕР Я.. ЛАМЕР ! 8) ;)


 
TankMan ©   (2004-11-19 14:24) [17]

... ну не знал я про SetEnvironmentVariable GetEnvironmentVariable :)

(Мдаа читать не удобно пока пишешь кто-нибудь отвечает :) )

>>Мастер
так я понимаю что реализовать такое вот нельзя ?:
"notmyprog -myprog" и чтобы программа notmyprog запустилась с параметром который ей вернет myprog?


 
PVOzerski ©   (2004-11-19 14:27) [18]

Можно либо вызвать notmyprog из myprog (тогда передать параметры - не проблема), либо, если программы консольные, передать на стандартный входной файл, либо воспользоваться другими способами (дисковые файлы, переменные окружения и т.д.)


 
Мастер ©   (2004-11-19 14:28) [19]

TankMan ©   (19.11.04 14:24) [17]

Жуть.

Exec.bat:

@echo off
SET Param="test"

call myprog
//myprog устанавливает значение Param
notmyprog -%Param%


 
Digitman ©   (2004-11-19 14:32) [20]


> TankMan ©   (19.11.04 14:24) [17]
> так я понимаю что реализовать такое вот нельзя ?:
> "notmyprog -myprog" и чтобы программа notmyprog запустилась
> с параметром который ей вернет myprog?


если речь идет об одном и том же экз-ре notmyprog - нельзя.
потому что это - нонсенс.


 
Anatoly Podgoretsky ©   (2004-11-19 14:38) [21]

TankMan ©   (19.11.04 14:24) [17]
так я понимаю что реализовать такое вот нельзя ?:
"notmyprog -myprog" и чтобы программа notmyprog запустилась с параметром который ей вернет myprog?

myprog|notmyprog


 
TankMan ©   (2004-11-22 07:43) [22]

ААААААА все доперло нужно было же смотреть с другой стороны %)
Спасибо за разъяснения! :) Я просто рад что у меня этот вопрос с плеч спал :) Еще раз всем спасибо :)



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

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

Наверх




Память: 0.52 MB
Время: 0.039 c
1-1100689264
Balkon
2004-11-17 14:01
2004.12.05
Совместный доступ двух потоков к объекту TQueue


1-1100775754
SmikE
2004-11-18 14:02
2004.12.05
проблема с расширением и его переменой


3-1099989544
goldenmax
2004-11-09 11:39
2004.12.05
Как подключится по сети к базе через BDE


1-1100758913
masha
2004-11-18 09:21
2004.12.05
OracleScript как вывести выполнение скрипта


14-1100520707
syte_ser78
2004-11-15 15:11
2004.12.05
Как я провел выходные