:: Visual Foxpro, Foxpro for DOS
Код возврата exe-модуля
lili
Автор

Сообщений: 432
Откуда: Сыктывкар
Дата регистрации: 07.11.2005
Приветствую всех!
В главной процедуре приложения main.prg вызывается форма, в которой определяется в итоге код возврата:
do form form1
read events

Не пойму, где нужно вставить RETURN с кодом возврата, чтобы потом можно было из других приложений запускать собранный main.exe и получать из него код возврата?
Ratings: 0 negative/0 positive
Re: Код возврата exe-модуля
PaulWist

Сообщений: 14601
Дата регистрации: 01.04.2004
Фокс не имеет stdout, попытки сделать его консольным не получились.

Ответ: таким образом "нигде".


------------------
Есть многое на свете, друг Горацио...
Что и не снилось нашим мудрецам.
(В.Шекспир Гамлет)
Ratings: 0 negative/0 positive
Re: Код возврата exe-модуля
lili
Автор

Сообщений: 432
Откуда: Сыктывкар
Дата регистрации: 07.11.2005
PaulWist
Фокс не имеет stdout, попытки сделать его консольным не получились.
Ответ: таким образом "нигде".
Спасибо.
Очень жаль((
Ratings: 0 negative/0 positive
Re: Код возврата exe-модуля
PaulWist

Сообщений: 14601
Дата регистрации: 01.04.2004
Нуу, через файл общаться.


------------------
Есть многое на свете, друг Горацио...
Что и не снилось нашим мудрецам.
(В.Шекспир Гамлет)
Ratings: 0 negative/1 positive
Re: Код возврата exe-модуля
_vit

Сообщений: 5173
Дата регистрации: 29.07.2002
lili
Приветствую всех!
В главной процедуре приложения main.prg вызывается форма, в которой определяется в итоге код возврата:
do form form1
read events

Не пойму, где нужно вставить RETURN с кодом возврата, чтобы потом можно было из других приложений запускать собранный main.exe и получать из него код возврата?

В фоксе не предусмотрено завершать приложение с кодом возврата. Но можно использовать для этого функцию Win32API - ExitProcess .
Вызвать ее в конце программы передав в качестве аргумента код возврата.

Declare ExitProcess In Win32API Integer
ExitProcess(nReturnCode)
Ratings: 0 negative/2 positive
Re: Код возврата exe-модуля
of63

Сообщений: 25161
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
nReturnCode - это что, где взять в фоксе?
Ratings: 0 negative/0 positive
Re: Код возврата exe-модуля
akvvohinc

Сообщений: 4201
Откуда: Москва
Дата регистрации: 11.11.2008
of63
nReturnCode - это что, где взять в фоксе?
Нигде - коды возврата ты придумываешь сам в зависимости от требований.
Программа (cmd-файл), вызвавшая Фокс, выберет план дальнейших действий в зависимости от кода возврата Фокс-программы.
Ratings: 0 negative/0 positive
Re: Код возврата exe-модуля
of63

Сообщений: 25161
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
0 - это успешно ?

> коды возврата ты придумываешь сам в зависимости от требований.
это да



Исправлено 1 раз(а). Последнее : of63, 15.04.23 03:53
Ratings: 0 negative/0 positive
Re: Код возврата exe-модуля
akvvohinc

Сообщений: 4201
Откуда: Москва
Дата регистрации: 11.11.2008
of63
0 - это успешно ?
Суть, скрывающаяся за теми или иными кодами, может быть любой - ты сам можешь это решить (ну, или кто-то за тебя - неважно).
Главное - включить описание значений кодов в инструкцию по использованию.



Исправлено 1 раз(а). Последнее : akvvohinc, 15.04.23 04:53
Ratings: 0 negative/0 positive
Re: Код возврата exe-модуля
of63

Сообщений: 25161
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
akvvohinc
of63
0 - это успешно ?
Суть, скрывающаяся за теми или иными кодами, может быть любой - ты сам можешь это решить (ну, или кто-то за тебя - неважно).
Главное - включить описание значений кодов в инструкцию по использованию.

Я обычно возвращаю из функций что-то непустое, если функция нашла ответ, и пустое - если не нашла. В АПИ винды это бывает не так, наоборот бывает (но там другая идея - возвращается что-то в структурах памяти, а сам возврат ф-ии, чисто, то 0 -это успех, или не успех, см. описалово от прогера))
Ratings: 0 negative/0 positive
Re: Код возврата exe-модуля
akvvohinc

Сообщений: 4201
Откуда: Москва
Дата регистрации: 11.11.2008
Не имеет значения, к чему привык ты или WinAPI.
Ты можешь "зашить" в код возврата любую логику, описав её пользователю.

Из тех.задания ты узнаешь, какие ситуации при выходе из программы требуется различать.
Возможно, там же будут приведены и коды, соответствующие этим ситуациям. А если нет, значит, ты можешь их определить сам, не забыв сообщить их значения пользователям.
Ratings: 0 negative/0 positive
Re: Код возврата exe-модуля
of63

Сообщений: 25161
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
> Возможно, там же будут приведены и коды,
типа да, бывает и нет )

Доб. Перечислить возможные состояния, ситуации, "заказчик" не способен. И разраб тоже, разраб вникает, пытается, нарывается на "как-же ты не понимаешь!", да, так рожается ТЗ, чаще нет..



Исправлено 1 раз(а). Последнее : of63, 20.04.23 22:30
Ratings: 0 negative/0 positive
Re: Код возврата exe-модуля
of63

Сообщений: 25161
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
> Возможно, там же будут приведены и коды, соответствующие этим ситуациям. А если нет, значит, ты можешь их определить сам

Сергей, совершенно верно. Закодировать "события" числом. А, если возвратить что-то многозначное из подпрограммы, то ты какое значение применяешь?
Ratings: 0 negative/0 positive
Re: Код возврата exe-модуля
akvvohinc

Сообщений: 4201
Откуда: Москва
Дата регистрации: 11.11.2008
Из подпрограммы?
А при чем здесь "Код возврата из EXE-модуля"?

Но в любом случае, если одним кодом (числом) обойтись не получается, то можно использовать другие способы - завершающаяся программа может что-то записать в файлы, реестр... да даже в буфер обмена.
Ratings: 0 negative/1 positive
Re: Код возврата exe-модуля
of63

Сообщений: 25161
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
В буфер обмена не пиши, в него юзер нажимает "контрол-Це", не делай так
Ratings: 0 negative/0 positive
Re: Код возврата exe-модуля
Vedmak

Сообщений: 5949
Откуда: CiTY
Дата регистрации: 30.10.2003
Разделите вопрос на две темы:
- как из формы вернуть результат в прилоджение
- как из приложения вернуть результат в ОС

Из фомы вернуть результат просто:
- в методе Unload выполняется по RETURN (VARNAME)
- в приложение форма это вернет как DO FROM <form_name> to <result_name>

А приложение выкинит в ОС тем же
- RETURN <result_name>

Насколько помню ОС ловит выхлоп приложения в системную переменную ERRORLEVEL. Уже его ловите батниками или ком скриптами .... молодые поправят схему))


------------------
Говорить стоит лишь для тех, кто слушает.




Исправлено 3 раз(а). Последнее : Vedmak, 09.05.23 22:24
Ratings: 0 negative/0 positive
Re: Код возврата exe-модуля
akvvohinc

Сообщений: 4201
Откуда: Москва
Дата регистрации: 11.11.2008
Vedmak
А приложение выкинит в ОС тем же
- RETURN <result_name>
Нет, тем же не вернет.

Здесь было написано, как вернуть код из EXE в OC
forum.foxclub.ru
Ratings: 0 negative/0 positive
Re: Код возврата exe-модуля
of63

Сообщений: 25161
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
> А приложение выкинит в ОС тем же
- RETURN <result_name>

> Насколько помню ОС ловит выхлоп приложения в системную переменную ERRORLEVEL. Уже его ловите батниками или ком скриптами .... молодые поправят схему))

Если это серьезно, то надо ... почитать попробовать, в любом приложении (в котором есть "RETURN" ) )
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 18 kornienko_ru Burn  (Гостей: 16)

© 2000-2024 Fox Club 
Яндекс.Метрика