:: Visual Foxpro, Foxpro for DOS
Установлено vfp9 и vfp8 на одной машине. Как программно узнать который из них стоит по умолчанию?
AdamAry
Автор

Сообщений: 843
Дата регистрации: 14.12.2015
Всем привет.

Установлено vfp9 и vfp8 на одной машине.
Как программно узнать который из них стоит по умолчанию?

Это нужно знать чтобы можно было переключаться с 8 на 9 и наоборот.
"C:\Program Files (x86)\Microsoft Visual FoxPro 8\vfp8.exe /regserver"
Ratings: 1 negative/0 positive
Re: Установлено vfp9 и vfp8 на одной машине. Как программно узнать который из них стоит по умолчанию?
Crispy

Сообщений: 18571
Дата регистрации: 16.05.2005
AdamAry
Всем привет.
Установлено vfp9 и vfp8 на одной машине.
Как программно узнать который из них стоит по умолчанию?

Это нужно знать чтобы можно было переключаться с 8 на 9 и наоборот.
"C:\Program Files (x86)\Microsoft Visual FoxPro 8\vfp8.exe /regserver"
Библиотеки регистрируются в реестре в ветке: HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\SharedDLLs\ - можно глянуть, какие файлы vfp9r.dll или vfp8r.dll прописаны. Команды для работы с реестром, если помнишь, я как-то описывал - проще всего через скриптовую машину, можно через апи, просто чуть замороченнее.
А вообще - намного проще не регистрировать ничего в системе лишний раз, а просто помещать все нужные файлы библиотек непосредственно в рабочей папке у каждой программы - где нужно файлы от 8, где нужно от 9 версии.
Будет работать без всякой регистрации/перерегистрации.


------------------
В действительности все иначе, чем на самом деле.
                                      (Антуан де Сент-Экзюпери)




Исправлено 1 раз(а). Последнее : Crispy, 15.08.17 09:08
Ratings: 2 negative/1 positive
Re: Установлено vfp9 и vfp8 на одной машине. Как программно узнать который из них стоит по умолчанию?
sergius1975

Сообщений: 4
Дата регистрации: 15.08.2017
[quote AdamAry]Всем привет.

Это нужно знать чтобы можно было переключаться с 8 на 9 и наоборот.

Обращаюсь за опытом к сайту больше 15 лет. Всегда находил помощь и нужные советы, даже не регистрируясь. Но чем дальше тем все становится противнее. Впечатление такое, что "новые програмеры" просто тупеют. А цивилизация-то должна идти к развитию...
Неуж-то сложно провести анализ, чем сразу кричать "Помогите"?
"переключаться с 8 на 9 и наоборот." - один мудрый человек сказал: "В правильно заданом вопросе 90% ответа!"
Нужно просто переинсталить VFP. Причем перед єтим полностью удалить "вручную" vfp*.* из Program Files...
На машинах пользователей работают программы от Visual FoxPro 6.0 до Visual FoxPro 9 и никаких "переключений" не нужно.

Извините, за вмешательтво, не выдержал. Последнее время "полезло" много "ленивых" вопросов. :-(
Ratings: 2 negative/1 positive
Re: Установлено vfp9 и vfp8 на одной машине. Как программно узнать который из них стоит по умолчанию?
sergius1975

Сообщений: 4
Дата регистрации: 15.08.2017
Crispy
AdamAry
Всем привет.
Установлено vfp9 и vfp8 на одной машине.
Как программно узнать который из них стоит по умолчанию?

Это нужно знать чтобы можно было переключаться с 8 на 9 и наоборот.
"C:\Program Files (x86)\Microsoft Visual FoxPro 8\vfp8.exe /regserver"
Библиотеки регистрируются в реестре в ветке: HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\SharedDLLs\ - можно глянуть, какие файлы vfp9r.dll или vfp8r.dll прописаны. Команды для работы с реестром, если помнишь, я как-то описывал - проще всего через скриптовую машину, можно через апи, просто чуть замороченнее.
А вообще - намного проще не регистрировать ничего в системе лишний раз, а просто помещать все нужные файлы библиотек непосредственно в рабочей папке у каждой программы - где нужно файлы от 8, где нужно от 9 версии.
Будет работать без всякой регистрации/перерегистрации.

Если машина настроеная под работу пользователя, то "шаманства" с реестром - пустая трата времени. Нужен просто "правильно построеный рантайм". И все версии Фокса будут нормально работать.
Были ситуации, когда просто нормально приложениям мешала работать vfp5*.dll или vfp6.dll. Отсутствующая в реестре, но "физически" находящаяся Program Files\...
"нужные файлы библиотек непосредственно в рабочей папке у каждой программы" - с ReFox-ом прикольно получалось. Привязавешь к проэкту нужные библиотеки и после этого программа с другими vfp*.dll не работала!
Ratings: 2 negative/0 positive
Re: Установлено vfp9 и vfp8 на одной машине. Как программно узнать который из них стоит по умолчанию?
Crispy

Сообщений: 18571
Дата регистрации: 16.05.2005
Просто во многих случаях (в том числе и вышеописанных у автора темы) имеет смысл воспользоваться изначальной портируемостью Фокспро.
Поскольку Фокспро для работы вполне достаточно стандартного набора его собственных библиотек + файлов msvcr71.dll и gdiplus.dll (если их нет в системе). Всего лишь располагая все эти файлы в рабочей папке программы. Размер у них по нынешним меркам мизерный.
В принципе можно аналогично поступить и с запуском среды разработки, ничего не устанавливая в систему вообще.
Я довольно часто бывало пользовался раньше VFP9 вообще с флешки.
Разница с установленным VFP9 - только в наличии в последнем возможности вызова справки по F1. В переносном варианте этого не будет. Что не мешает, если нужно запускать файл справки chm обычным образом. При желании можно конечно и просто зарегистрировать нужные файлы для вызова справки из среды вручную, либо, как было сделано у меня например, через командный файл со строками:
regsvr32.exe foxhhelpps9.dll
FOXHHELP9.EXE /regserver

Более того, на "чужих системах" могут быть установлены с регистрацией какие угодно версии VFP, причем даже не одна, поэтому "портируемый вариант" имеет безусловное преимущество и по этой причине, помогая избежать лишних проблем с версией. Поскольку файлы фокспро при запуске ищут файлы библиотек сначала "под боком", а потом уже в различных системных папках и на прочих зарегистрированных путях.

sergius1975
Вещи в общем-то очевидные и много раз тут когда-то описывавшиеся, просто автор топика за давностью их обсуждения тут, мог с ними не сталкиваться.


------------------
В действительности все иначе, чем на самом деле.
                                      (Антуан де Сент-Экзюпери)




Исправлено 1 раз(а). Последнее : Crispy, 16.08.17 07:18
Ratings: 0 negative/0 positive
Re: Установлено vfp9 и vfp8 на одной машине. Как программно узнать который из них стоит по умолчанию?
AdamAry
Автор

Сообщений: 843
Дата регистрации: 14.12.2015
"HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\SharedDLLs\"
здесь фоксовских dll нет.
Windows 10 Enterprise.



Исправлено 1 раз(а). Последнее : AdamAry, 16.08.17 09:06
Ratings: 0 negative/0 positive
Re: Установлено vfp9 и vfp8 на одной машине. Как программно узнать который из них стоит по умолчанию?
Crispy

Сообщений: 18571
Дата регистрации: 16.05.2005
AdamAry
"HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\SharedDLLs\"
здесь фоксовских dll нет.
Windows 10 Enterprise.

Ну в десятке может быть и другой путь. Проще всего открыть regedit из командной строки - и в поиск ввести название файла.
Хотя лучше мне кажется все же снести фокс и пользоваться попросту портабильно на каждый данный момент нужной версией, не заморачиваясь как-то особенно. Ассоциации фокс-файлов, обычно вообще никогда не бывают нужны, а проблема с хелпом по F1 решаема, как я и упоминал выше.
В остальном - такая версия ничем абсолютно не будет отличаться от установленной версии. Все записи в реестре касаются только ассоциаций файлов и регистрации фоксовских библиотек, нужной для работы скомпилированных программ (при отсутствии в их папках данных файлов).
Кстати лет 10 уже при установке VFP9 на новую систему не ставлю через установщик, а пользуюсь путем простого переноса его папок, ну плюс регистрацией хелпа для удобства вызова справки.


------------------
В действительности все иначе, чем на самом деле.
                                      (Антуан де Сент-Экзюпери)
Ratings: 0 negative/0 positive
Re: Установлено vfp9 и vfp8 на одной машине. Как программно узнать который из них стоит по умолчанию?
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Crispy
Библиотеки регистрируются в реестре в ветке: HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\SharedDLLs\
Во-первых не регистрируются (фоксовые). Во-вторых эта ветка не имеет решительно никакого отношения к РАБОТЕ программ - она нужна только для установщика, который на основании данного счётчика определяет нужно ли удалять некоторую "общую" dll.
В-третьих всё что связано с "регистрацией" dll НИКАК не поможет в решении поставленной задачи - определить какой программой (в данном случае какой версией среды разработки VFP) будет по умолчанию открыт файл с определённым расширением.

Crispy
А вообще - намного проще не регистрировать ничего в системе лишний раз, а просто помещать все нужные файлы библиотек непосредственно в рабочей папке у каждой программы - где нужно файлы от 8, где нужно от 9 версии.
Будет работать без всякой регистрации/перерегистрации.
Опять же, это не имеет абсолютно никакого отношения к поставленному вопросу - как определить чем открывается, к примеру, scx файл. Более того, без определённых записей в реестре вообще невозможно заставить проводник открывать файл с соответствующим расширением в соответствующей программе.

sergius1975
Обращаюсь за опытом к сайту больше 15 лет. Всегда находил помощь и нужные советы, даже не регистрируясь. Но чем дальше тем все становится противнее. Впечатление такое, что "новые програмеры" просто тупеют. А цивилизация-то должна идти к развитию...
Такое громкое заявление, и такой, прямо скажем безграмотный ответ... Смешно, но мало что знающий в VFP автор вопроса, написал куда как более корректные слова, нежели вздумавший поучать его "профи".
sergius1975
Нужно просто переинсталить VFP. Причем перед єтим полностью удалить "вручную" vfp*.* из Program Files...
А может ещё всю винду посоветуешь переустановить? Или сразу новый компьютер купить?
Прежде чем писать подобную чушь, неплохо было бы ознакомится с предметом разговора. В частности почитать, для чего служит параметр командной строки /regserver при запуске vfp8.exe или vfp9.exe

sergius1975
Нужен просто "правильно построеный рантайм". И все версии Фокса будут нормально работать.
Были ситуации, когда просто нормально приложениям мешала работать vfp5*.dll или vfp6.dll. Отсутствующая в реестре, но "физически" находящаяся Program Files\...
Бред и абсолютное непонимание принципов поиска библиотек рантайма фоксовым загрузчиком... При том ещё и не имеющей ни малейшего отношения к поставленному вопросу.

Crispy
Ассоциации фокс-файлов, обычно вообще никогда не бывают нужны
Слишком громкое заявление. При том что автор вопроса по сути ИМЕННО про ассоциации фокс-файлов и спрашивал

2 AdamAry
С какой целью нужно "знать" какая из версий фокса в данный момент "открывает фоксовые файлы"?
Запуск vfpN.exe /regserver просто перепишет текущие файловые ассоциации. Ну были они сделаны на vfp9 и снова будут переписаны на vfp9 - в чём проблема то?
Но если "очень хочется", то надо анализировать собственно записи файловых ассоциаций - скажем для того же dbf это:
HKEY_CLASSES_ROOT\.dbf - обычно она не сама содержит описание "действий" а указывает на "Visual.FoxPro.Table". Смотрим далее
HKEY_CLASSES_ROOT\Visual.FoxPro.Table и внутри подветку shell\open\command там будет прописана команда срабатывающая при "открытии" dbf файла в проводнике. В частности там будет видно из какой папки и какой именно exe будет запущен - vfp8 или vfp9.
shell\open\command может быть прописан и сразу в ключе .dbf (хотя штатная установка фокса, равно как и запуск vfpN.exe с ключом /regserver так НЕ делают).

Проблема в том, что проверять надо по сути ВСЕ расширения, т.к. запросто может оказаться что часть из них указывает на 8-й фокс, а другая часть на 9-й. Кстати, иногда так делают СПЕЦИАЛЬНО. Скажем pjt связывают с 8-й версией а pjx с 9-й. Оба этих файла представляют собой "проект", и по сути открытие любого приводит к открытию проекта в среде разработки. И имея такие "разноверсионные" ассоциации становится возможным не запуская предварительно IDE фокса открывать его файлы по выбору - в 8 или в 9 версии.
Другой вариант, записать в реестре дополнительное "действие" open это "стандартное" (и пусть оно срабатывает с использованием крайней 9-й версии), а можно, к примеру, сделать open8 и прописать там открытие этого же файла но уже в 8-й версии IDE фокса. Использовать это можно если не просто дважды кликать по файлу в проводнике, а вызывать его контекстное меню (правой кнопкой мыши, или специальной клавишей на клавиатуре) - там появится помимо "Открыть" ещё и пункт "Открыть в 8-й версии" (естественно "название/расшифровку" действия open8 тоже следует прописать в реестре).


------------------
WBR, Igor
Ratings: 1 negative/3 positive
Re: Установлено vfp9 и vfp8 на одной машине. Как программно узнать который из них стоит по умолчанию?
Crispy

Сообщений: 18571
Дата регистрации: 16.05.2005
Да, без тебя скучно было.
И как всегда у тебя - в целом вроде и верно. А вот в частностях - бывает и чушь встречается. ;)
Скажем, сколько знаю и из практики, и из бесед не только здесь - ни одному пользователю как правило никогда не нужны бывают ассоциации файлов (кстати в глобальном отношении мусорят они реестр неплохо). Единственно - кроме некоторых типов стандартных документов. А уж если пользователю они не нужны - то более-менее опытному программисту вообще грех ими пользоваться. ;)
Скажем для быстрого просмотра dbf любой не-чайник обычно элементарно использует утилиту в TC или FAR. О быстром же просмотре prg уж и вовсе думаю не стоит упоминать - у каждого своя замена блокнота. Для остального - спешка и вовсе не нужна. Ну и спрашивается - какого тогда вообще нужны эти ассоциации-то?! Мусор, и ничего кроме. [sm128]
Так что насчет их нужности ты явно погорячился. ;)

Не понятно вот только, зачем ты мне там наверху красноты-то понатыкал?
Или ты принципиально против, что Фокспро может работать и без регистрации? ;) Ну так и может же!


------------------
В действительности все иначе, чем на самом деле.
                                      (Антуан де Сент-Экзюпери)




Исправлено 2 раз(а). Последнее : Crispy, 17.08.17 11:04
Ratings: 1 negative/0 positive
Re: Установлено vfp9 и vfp8 на одной машине. Как программно узнать который из них стоит по умолчанию?
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Crispy
А вот в частностях - бывает и чушь встречается. ;)
Пример чуши у меня приведи. Именно чуши - т.е. неверного, безграмотного или просто не относящегося к делу высказывания.
Crispy
Скажем, сколько знаю и из практики, и из бесед не только здесь - ни одному пользователю как правило никогда не нужны бывают ассоциации файлов
Громкое и безосновательное заявление.
Большинство пользователей вполне успешно используют файловые ассоциации. Если что, они появились ещё во времена DOS в тамошних файловых менеджерах. И было весьма удобно по нажатию Enter открывать txt в текстовом редакторе, dbf в фоксе, prg в каком-нить QEdit.
Crispy
Скажем для быстрого просмотра dbf любой не-чайник обычно элементарно использует утилиту в TC или FAR.
Которые (эти файл-менеджеры) работают, вот сюрприз то! через файловые ассоциации. Просто в другом месте (не реестре) прописанные. В реестре прописаны ассоциации для "проводника" - штатного файл-менеджера винды. Которым, к слову, пользуется подавляющее большинство людей работающих в Windows. ДАЖЕ если они помимо него используют и другие файл-менеджеры. Я, конечно, тоже им пользуюсь для определённых целей.
Crispy
(кстати в глобальном отношении мусорят они реестр неплохо).
А тебе какое горе до этого? Не используй реестр (кстати, сама MS уже много лет как советует не лазить прикладным разработчикам в реестр - хранить настройки создаваемого ими ПО в других местах) и всего делов. В винде 100500 файлов самого разного формата и размера куда "мусорит" сама система или системные/служебные утилиты - и я не вижу в этом решительно никаких проблем для рядового пользователя.
Crispy
А уж если пользователю они не нужны - то более-менее опытному программисту вообще грех ими пользоваться. ;)
Вот это как раз и есть пример чуши. Во-первых они нужны пользователю, во-вторых нет совершенно никакой связи между потребностями программиста и потребностями простого пользователя. По твоей "логике" раз пользователю не нужны Visual Studio, gcc, или то же IDE фокса, то и программисту "вообще грех ими пользоваться"
Crispy
О быстром же просмотре prg уж и вовсе думаю не стоит упоминать - у каждого своя замена блокнота.
Да. Я пользуюсь IDE фокса. Через файловые ассоциации винды. Всякие "заменители блокнота" я не использую вообще (ну если не считать встроенный текстовый редактор FAR - но я крайне редко использую его для редактирования prg файлов, и не часто для просмотра). ЧЯДНТ?
Crispy
Не понятно вот только, зачем ты мне там наверху красноты-то понатыкал?
Или ты принципиально против, что Фокспро может работать и без регистрации? ;)
Поскольку было написано то что:
- не соответствует действительности (применимо к фоксу).
- не относится к заданному вопросу.
- неверно изложено (применимо к другим dll/программам).

И ты явно не заметил КАКОЕ твоё сообщение было промаркировано. Там где описывался вариант "портабельного" запуска IDE фокса я вовсе ничего не "краснил" - хотя это и не относится напрямую к заданному вопросу, но в принципе написано более-менее правильно.
gdiplus не нужен (он есть в ОС требуемых для запуска IDE фокса - пытаться запустить среду разработки фокса на каком-нить Windows 98 я бы КРАЙНЕ не рекомендовал), зато нужны MSXML4 парсер (что для работы создаваемых программ, в частности использования класса XMLAdapter, что для некоторых встроенных в IDE утилит - скажем TaskPane явно его требует), и некоторые ActiveX компоненты (но их отсутствие не смертельно, хотя и весьма неприятно - не будут работать Class Browser, Object Browser, Code References, возможно что-то ещё из менее нужных утилит). Это заметно ограничивает "портабельность" среды разработки - я бы сказал что полноценно писать ПО не получится, но вносить некоторые несущественные изменения или дополнения в исходник, и использовать отладчик - вполне возможно.


------------------
WBR, Igor
Ratings: 0 negative/2 positive
Re: Установлено vfp9 и vfp8 на одной машине. Как программно узнать который из них стоит по умолчанию?
lulgu

Сообщений: 1838
Дата регистрации: 30.11.2016
Igor Korolyov
Crispy
А вот в частностях - бывает и чушь встречается. ;)
Пример чуши у меня приведи. Именно чуши - т.е. неверного, безграмотного или просто не относящегося к делу высказывания.

В скромности вас не упрекнешь.
Ratings: 3 negative/0 positive
Re: Установлено vfp9 и vfp8 на одной машине. Как программно узнать который из них стоит по умолчанию?
of63

Сообщений: 25244
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
(Приятно послушать разговор профи, просто узнать, что что-то живет в этом фоксе, шевелится Какие-то там его детальки нравятся, или не нравятся...)
Ratings: 0 negative/0 positive
Re: Установлено vfp9 и vfp8 на одной машине. Как программно узнать который из них стоит по умолчанию?
AdamAry
Автор

Сообщений: 843
Дата регистрации: 14.12.2015
Цитата:
С какой целью нужно "знать" какая из версий фокса в данный момент "открывает фоксовые файлы"?
Я пытаюсь использовать DVFP для декомпиляции файла pjx из 8 ого VFP, хотя сам DVFP работает только под 9 ым VFP, вот и хотел найти штатный способ узнавания, какая версия VFP сейчас зарегистрирована. У меня одновременно установлены и 9 и 8.

Твой способ узнавания из HKEY_CLASSES_ROOT\Visual.FoxPro.Table вполне подойдёт, т.е. ты ответил на поставленный вопрос:

Цитата:
Запуск vfpN.exe /regserver просто перепишет текущие файловые ассоциации. Ну были они сделаны на vfp9 и снова будут переписаны на vfp9 - в чём проблема то?
Но если "очень хочется", то надо анализировать собственно записи файловых ассоциаций - скажем для того же dbf это:
HKEY_CLASSES_ROOT\.dbf - обычно она не сама содержит описание "действий" а указывает на "Visual.FoxPro.Table". Смотрим далее
HKEY_CLASSES_ROOT\Visual.FoxPro.Table и внутри подветку shell\open\command там будет прописана команда срабатывающая при "открытии" dbf файла в проводнике. В частности там будет видно из какой папки и какой именно exe будет запущен - vfp8 или vfp9.
shell\open\command может быть прописан и сразу в ключе .dbf (хотя штатная установка фокса, равно как и запуск vfpN.exe с ключом /regserver так НЕ делают).

Проблема в том, что проверять надо по сути ВСЕ расширения, т.к. запросто может оказаться что часть из них указывает на 8-й фокс, а другая часть на 9-й. Кстати, иногда так делают СПЕЦИАЛЬНО. Скажем pjt связывают с 8-й версией а pjx с 9-й. Оба этих файла представляют собой "проект", и по сути открытие любого приводит к открытию проекта в среде разработки. И имея такие "разноверсионные" ассоциации становится возможным не запуская предварительно IDE фокса открывать его файлы по выбору - в 8 или в 9 версии.
Другой вариант, записать в реестре дополнительное "действие" open это "стандартное" (и пусть оно срабатывает с использованием крайней 9-й версии), а можно, к примеру, сделать open8 и прописать там открытие этого же файла но уже в 8-й версии IDE фокса. Использовать это можно если не просто дважды кликать по файлу в проводнике, а вызывать его контекстное меню (правой кнопкой мыши, или специальной клавишей на клавиатуре) - там появится помимо "Открыть" ещё и пункт "Открыть в 8-й версии" (естественно "название/расшифровку" действия open8 тоже следует прописать в реестре).


Igor Korolyov
"почитать, для чего служит параметр командной строки /regserver при запуске vfp8.exe или vfp9.exe
"
Вот нашёл кое што:
"Registering an Automation Server
Your Automation servers are available to other applications once the servers have been added to the Windows Registry. When you build an Automation server, it's automatically registered on the build machine. You can also register your servers on other machines.

When you use the Visual FoxPro Setup to create setup disks, the setup program registers your servers on your customers' machines. You can also manually register servers.

To register an .exe component

Run the .exe file with the /regserver switch.
For example, to register Myserver.exe, run the following command:

myserver /regserver
To remove an .exe component registry entry

Run the .exe file with the /unregserver switch.
For example, to unregister Myserver.exe, run the following command:

myserver /unregserver
"
Но вот именно про именно "/regserver при запуске vfp8.exe или vfp9.exe" чё то нет информации.



Исправлено 8 раз(а). Последнее : AdamAry, 22.08.17 06:51
Ratings: 1 negative/0 positive
Re: Установлено vfp9 и vfp8 на одной машине. Как программно узнать который из них стоит по умолчанию?
Аспид

Сообщений: 3475
Откуда: Москва
Дата регистрации: 01.04.2005
Ух как ты разошелся)))
Всем красноты поналепил)))
Но сути так и не понял.
На вопрос " Установлено vfp9 и vfp8 на одной машине. Как программно узнать который из них стоит по умолчанию?" правильный ответ - НИКАК. В общем случае.
На хрена это надо, никому не понять.
А что бы твоя прога работала с нужным рантаймом
Crispy
А вообще - намного проще не регистрировать ничего в системе лишний раз, а просто помещать все нужные файлы библиотек непосредственно в рабочей папке у каждой программы - где нужно файлы от 8, где нужно от 9 версии.
Будет работать без всякой регистрации/перерегистрации.
И это был первый же ответ.
Топик длинный, умности читать лень)
Уверен Игорь что то написал.
Но Криспи тут 100% прав.
лет 20 так делаю.


------------------
Ratings: 0 negative/0 positive
Re: Установлено vfp9 и vfp8 на одной машине. Как программно узнать который из них стоит по умолчанию?
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
AdamAry
Я пытаюсь использовать DVFP для декомпиляции файла pjx из 8 ого VFP, хотя сам DVFP работает только под 9 ым VFP, вот и хотел найти штатный способ узнавания, какая версия VFP сейчас зарегистрирована. У меня одновременно установлены и 9 и 8.
Всё одно не понимаю зачем тебе знать на какую версию зарегистрированы файловые ассоциации. Нужно запустить dvfp - ну запусти 9-й фокс и там запусти утилиту (если уж никак не выходит сделать из неё просто exe и вообще не забивать себе голову запуском IDE а потом запуском из неё prg)...
AdamAry
Твой способ узнавания из HKEY_CLASSES_ROOT\Visual.FoxPro.Table вполне подойдёт, т.е. ты ответил на поставленный вопрос:
Оно то да, но только какой в этом прок? Я лично не вижу вообще смысла это (регистрацию файловой ассоциации) выяснять, и тем более менять. Правильный подход, это выяснить суть проблемы и решить поставленную ЗАДАЧУ наилучшим (в т.ч. и наиболее простым) способом, а не городить непонятный огород из ненужных конструкций. В частности "переключать" зачем-то файловые ассоциации фокса для тривиального запуска некоторой prg под "другой версией".

AdamAry
Но вот именно про именно "/regserver при запуске vfp8.exe или vfp9.exe" чё то нет информации.
How to: Use Command-Line Options When Starting Visual FoxPro

тут перевод, но он автоматический и потому корявый.


------------------
WBR, Igor
Ratings: 0 negative/1 positive
Re: Установлено vfp9 и vfp8 на одной машине. Как программно узнать который из них стоит по умолчанию?
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Аспид
На вопрос " Установлено vfp9 и vfp8 на одной машине. Как программно узнать который из них стоит по умолчанию?" правильный ответ - НИКАК. В общем случае.
Тут не поспоришь. Тем более что терминологически "программа стоит по умолчанию" это очень корявое применение данных слов. "открывает по умолчанию файл prg" - это совсем другое дело
Аспид
На хрена это надо, никому не понять.
Опять же в точку - только в последнем посте проливается свет на решаемую ПРОБЛЕМУ. До того же все как обычно - автор выбирает какой-то странный, или очень странный способ решения и спрашивает как же эту странность сделать этим способом При том что сама то проблема и яйца выеденного не стоит, в отличие от придуманных нагромождений с реестром, перерегистрациями файловых ассоциаций и т.п.
Аспид
А что бы твоя прога работала с нужным рантаймом...
К сожалению в данном случае не идёт речи о программе в готовом виде (exe), посему и о рантайме речи не может быть (хотя это как раз один из способов решения начальной проблемы - скомпилируй требуемый код в exe, ну может дополнив стартовый модуль своими строками, и всё - система сама разберётся где взять рантайм, раз уж нужная версия фокса точно установлена на этой машине).
Требуется именно запуск IDE фокса. Однако организовать запуск IDE нужной версии, в т.ч. и с подачей ему нужного prg или fxp файла тоже совсем несложно - и даже безо всяких реестров и /regserver-ов. Что тоже позволит решить начальную проблему


------------------
WBR, Igor
Ratings: 0 negative/1 positive
Re: Установлено vfp9 и vfp8 на одной машине. Как программно узнать который из них стоит по умолчанию?
descent52_tmp

Сообщений: 214
Откуда: Саров
Дата регистрации: 20.11.2014
Не подскажите, что СИЕ на прикрепленной картинке?
есть проект на фокс 8, попробовал сделать ехе в фоксе 9 и получил такое сообщение ((
Ratings: 0 negative/0 positive
Re: Установлено vfp9 и vfp8 на одной машине. Как программно узнать который из них стоит по умолчанию?
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Пути с пробелами где-то через Ж*** сделаны. Плюс сам проект или его части жили в папке по умолчанию в Documents...


------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: Установлено vfp9 и vfp8 на одной машине. Как программно узнать который из них стоит по умолчанию?
ssa

Сообщений: 13007
Откуда: Москва
Дата регистрации: 23.03.2005
AdamAry
Все ответы, кроме твоего Igor, полный от....той. Вроде простой вопрос был.
1. Сударь, уже не единожды вам было сказано, что не вам давать какие-либо оценки с вашим-то уровнем знания предмета и способностями понять данные вам ответы на ваши вопросы, которые, как обычно, назвать умными/хорошими/интересными и т.д. нет никакой возможности.
2. Опять же не единожды было указано на излишнее цитирование.
Потрудитесь в дальнейшем при написании сообщений таки учитывать оба пункта.


------------------
Лень - это неосознанная мудрость.
Ratings: 0 negative/2 positive
Re: Установлено vfp9 и vfp8 на одной машине. Как программно узнать который из них стоит по умолчанию?
AdamAry
Автор

Сообщений: 843
Дата регистрации: 14.12.2015
Igor Korolyov
На вопрос " Установлено vfp9 и vfp8 на одной машине. Как программно узнать который из них стоит по умолчанию?" правильный ответ - НИКАК. В общем случае.
Тут не поспоришь. Тем более что терминологически "программа стоит по умолчанию" это очень корявое применение данных слов. "открывает по умолчанию файл prg" - это совсем другое дело
"Как программно узнать который из них стоит по умолчанию?" имелось в виду какая версия VFP 8 или 9 будет будет по умолчанию в реестре, сделанная посредством "Registers Visual FoxPro default registry keys." для открытия файлов и т.д.

Цитата:
На хрена это надо, никому не понять.
Опять же в точку - только в последнем посте проливается свет на решаемую ПРОБЛЕМУ. До того же все как обычно - автор выбирает какой-то странный, или очень странный способ решения и спрашивает как же эту странность сделать этим способом При том что сама то проблема и яйца выеденного не стоит, в отличие от придуманных нагромождений с реестром, перерегистрациями файловых ассоциаций и т.п.
Цитата:
«640 килобайт хватит всем».

«Вряд ли кому-то придет в голову установить компьютер дома».
Кен Олсен, 1977 год.

Умерший в прошлом месяце Кен Олсен (Ken Olsen) был президентом, председателем совета директоров и основателем компании Digital Equipment Corporation. Кроме систем «мейнфрейм», компания производила мини-компьютеры для научных и технических предприятий. И хотя у самого Олсена был персональный компьютер, он не мог представить, что однажды компьютеры будут использоваться в доме для управления окнами, дверьми и различной электроникой.


Почему надо узнать какая версия фокса сейчас стоит по умолчанию в реестре?:
элементарно, у меня рабочая vfp8, но иногда использую vfp9, и чтобы быстро узнать какая программа (8 или 9) сейчас стоит по умолчанию, и появился этот вопрос. Допустим сейчас 9, но если я делаю проекты, то они все на 8 ом, резонно, посмотрев в HKEY_CLASSES_ROOT\Visual.FoxPro.Table и увидев 9 переключюсь на 8. Но когда необходимо использовать 9, то опять же предварительно посмотрев в HKEY_CLASSES_ROOT\Visual.FoxPro.Table и увидев 8, переключюсь на 9, вот и всё.

По аналогии можно спросить, зачем нужны двухмерные массивы, когда можно вместо них использовать только таблицы, ведь использование таблиц гораздо удобнее?



Исправлено 13 раз(а). Последнее : AdamAry, 22.08.17 07:35
Ratings: 2 negative/0 positive


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

On-line: 35 PaulWist AndyNigmatec  (Гостей: 33)

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