Как определить программа запущена из среды фокса или скопилировынный ехе-шник ? | |
---|---|
Vladimir Sklyar Автор Сообщений: 1397 Дата регистрации: 13.06.2002 |
сабж, нужно чтобы часть функцимонала программы (не доделанного и не проверенного) не попадала в работу (и чтобы шаловливые руки пользователей лишний раз не тыкали куда не нада)
------------------ С уважением Владимир. |
Re: Как определить программа запущена из среды фокса или скопилировынный ехе-шник ? | |
---|---|
spinz Сообщений: 5263 Дата регистрации: 21.01.2016 |
парсить ком.строку, не?
|
Re: Как определить программа запущена из среды фокса или скопилировынный ехе-шник ? | |
---|---|
PaulWist Сообщений: 14618 Дата регистрации: 01.04.2004 |
------------------ Есть многое на свете, друг Горацио... Что и не снилось нашим мудрецам. (В.Шекспир Гамлет) |
Re: Как определить программа запущена из среды фокса или скопилировынный ехе-шник ? | |
---|---|
Taran Сообщений: 13624 Откуда: Красноярск Дата регистрации: 16.01.2008 |
|
Re: Как определить программа запущена из среды фокса или скопилировынный ехе-шник ? | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
И до кучи VERSION(2)
P.S. Скомпилированный exe-ник вполне можно запустить из IDE фокса по DO - и даже отлаживать. Если и это надо отследить, то смотреть по стеку имена модулей - до нахождения exe модуля. ------------------ WBR, Igor Исправлено 1 раз(а). Последнее : Igor Korolyov, 23.08.17 12:15 |
Re: Как определить программа запущена из среды фокса или скопилировынный ехе-шник ? | |
---|---|
akvvohinc Сообщений: 4219 Откуда: Москва Дата регистрации: 11.11.2008 |
По стеку можно и не бегать - просто проверить расширение у SYS(16) в головной программе проекта. PS Есть еще один "экзотический" способ - проверить наличие любого файла проекта (не excluded) по заведомо невозможному пути, например:
Исправлено 2 раз(а). Последнее : akvvohinc, 23.08.17 16:19 |
Re: Как определить программа запущена из среды фокса или скопилировынный ехе-шник ? | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
Я у себя зачастую так и делаю, но мало ли - DO my.exe может сам быть исполнен не напрямую а из prg, и тут уже exe будет не первым в стеке... ------------------ WBR, Igor |
Re: Как определить программа запущена из среды фокса или скопилировынный ехе-шник ? | |
---|---|
akvvohinc Сообщений: 4219 Откуда: Москва Дата регистрации: 11.11.2008 |
SYS(16) - это не первый в стеке, а текущий. Поэтому, если my.* - головная прога проекта, то этого хватит, даже если она вызывается через цепочку нескольких PRG. Исправлено 1 раз(а). Последнее : akvvohinc, 23.08.17 20:31 |
Re: Как определить программа запущена из среды фокса или скопилировынный ехе-шник ? | |
---|---|
Berloga Сообщений: 72 Откуда: Нефтекамск Дата регистрации: 19.12.2007 |
Type("_vfp.ActiveProject")="O"
|
Re: Как определить программа запущена из среды фокса или скопилировынный ехе-шник ? | |
---|---|
akvvohinc Сообщений: 4219 Откуда: Москва Дата регистрации: 11.11.2008 |
Думаю, что подавляющему большинству не требуется обязательно открывать проект, чтобы запустить задачу из исходников. |
Re: Как определить программа запущена из среды фокса или скопилировынный ехе-шник ? | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
Без параметра, да. Как-то пропустил сие уточнение В общем что так что этак есть ограничения и "особенности применения" про которые не следует забывать. Да, глянул тут исходники, у меня и то и другое (и _VFP.StartMode и UPPER(JUSTEXT(SYS(16))) = "EXE") используется - для разных целей, конечно. Где-то надо понять запущено ли "через exe" - независимо от того в среде или в рантайме, а где-то именно факт запуска в IDE отловить... ------------------ WBR, Igor |
Re: Как определить программа запущена из среды фокса или скопилировынный ехе-шник ? | |
---|---|
akvvohinc Сообщений: 4219 Откуда: Москва Дата регистрации: 11.11.2008 |
Ну, вот - после этой темы UPPER() здесь можешь убрать. |
Re: Как определить программа запущена из среды фокса или скопилировынный ехе-шник ? | |
---|---|
Berloga Сообщений: 72 Откуда: Нефтекамск Дата регистрации: 19.12.2007 |
В оригинальной головной программе добавить
Можно выбрать любой из 2-ух вариантов запуска: для пользователя, для разработчика. |
Re: Как определить программа запущена из среды фокса или скопилировынный ехе-шник ? | |
---|---|
akvvohinc Сообщений: 4219 Откуда: Москва Дата регистрации: 11.11.2008 |
Какой оригинал, какая копия? Вопрос вроде понятный - программа (видимо, оригинал) должна как-то сама определить, как была запущена. Это верно, зачем ему автоматика? Можно при запуске просто сообщать программе, через EXE, или через PRG ее запустили. |
Re: Как определить программа запущена из среды фокса или скопилировынный ехе-шник ? | |
---|---|
Berloga Сообщений: 72 Откуда: Нефтекамск Дата регистрации: 19.12.2007 |
Я имею ввиду тот случай, когда разработчик работает в области не скрытого функционала, но с блокировкой скрытого еще недоделанного функционала, чтобы избежать явных ошибок. Вы делаете что-то. Но оно еще не готово. А тут срочная задача, которая пересекается с новоделом? И что все комментировать, обратно разкомментировать? Действительно, зачем ему автоматика? |
Re: Как определить программа запущена из среды фокса или скопилировынный ехе-шник ? | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
Нет, использовать систему контроля версий. А не какие-то странные флаги непонятно где, и IF-ы что-то включающие или отключающие
Определять "метод запуска" нужно разве что для настройки путей, может скрытия системных тулбаров... А никак не для разделения функционала и отключения "неготовых" частей. ------------------ WBR, Igor |
Re: Как определить программа запущена из среды фокса или скопилировынный ехе-шник ? | |
---|---|
AndyNigmatec Сообщений: 1573 Откуда: Волгоград Дата регистрации: 28.06.2015 |
Ну тут уже много ответили по теме - можго и пофлудить
Вот фроде фокс уже помер ... но я до сих пор пользую (ну поскоку другого не изучил)))) но до сих пор как-то вот не нашлось надобности определять откуда же запущена прога - и почему так? |
Re: Как определить программа запущена из среды фокса или скопилировынный ехе-шник ? | |
---|---|
of63 Сообщений: 25254 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
Да хоть бы написать в "About о программе" имя EXE-файла, также, зная его имя, еще по его AGETFILEVERSION(... всякие его детали...
|
Re: Как определить программа запущена из среды фокса или скопилировынный ехе-шник ? | |
---|---|
AndyNigmatec Сообщений: 1573 Откуда: Волгоград Дата регистрации: 28.06.2015 |
точно .... залез - глянул, ну да SYS(16,0), давно было )))) написал и забыл
Исправлено 1 раз(а). Последнее : AndyNigmatec, 26.08.17 09:24 |
Re: Как определить программа запущена из среды фокса или скопилировынный ехе-шник ? | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
1) Этому коду сто лет, зачем лезть туда где всё работает 2) В документации НЕ гарантируется что возвращаться будет в верхнем регистре, а я стараюсь следовать документации там где она не врёт явно Тут ещё могут любители COLLATE=RUSSIAN "подсказать" что дескать обычное сравнение то не чувствительно к регистру... ------------------ WBR, Igor |
© 2000-2024 Fox Club  |