powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Что дальше?
5 сообщений из 5, страница 1 из 1
Что дальше?
    #35512059
NewAll
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Опрять прошу прощения за за супер глупые вопросы, но, к сожалению, больше не с кем посоветоваться в этой области (все знакомые работают на PHP, Java и им подобные). Возможно я выгляжу полным ламером-чайником, но на сегодняшний день я не отступил ни перед одной проблемой (в области програмирования) и все доводил до конечного результата. Возможно не так профессионально, но это все работает

У меня есть некая програмка:
в ней есть
1. Папка с файлами - данными типа DBF, CDX и FPT
2. Папка с файлами - формы типа SCT и SCX
Ну и в корне лежит несколько DLL, лог для ошибок в TXT, конфигурация в FPW,
и конечно же EXE.

Просматривая содержимое EXE-шника с помощью ReFox 11 (правда на испанском языке, либо что-то подобное) выясняется, что он содержит в себе
- програмные модули типа FXP
- формы типа FRT и FRX, SCT и SCX
- разные иконки типа ICO и BMP
- и что-то, содержащее поля форм типа VCT и VCX

Как я должен действовать? Я думаю, что примерно так:
1. С помощью ReFox 11 я вытаскиваю из EXE-шника все файлы
2. Вношу необходимые изменения (тобишь подправляю формы)
3. Каким-то образом засовываю все обратно в EXE-шник???

Так, или я где-то ошибаюсь.
...
Рейтинг: 0 / 0
Что дальше?
    #35512132
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что, вас проект не устраивает? Есть необходимость поменять интерфейс, логику, процедуры?
Или только выходные формы или данные в таблицах?

То есть я что подразумеваю - если нужно изменить что-то только в этих
самых "папках с файлами DBF... SCX...", то это делается чем угодно,
хоть своим отдельным билдом Фокса, хоть через ODBC ... они для этого
и вынесены из базы в отдельные таблицы/формы. А вот если менять проект...
Тогда проще его полностью декомпилировать и собрать заново уже свой проект,
и от него уже плясать, как положено в Фоксе.
...
Рейтинг: 0 / 0
Что дальше?
    #35512283
NewAll
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AndreTMА что, вас проект не устраивает? Есть необходимость поменять интерфейс, логику, процедуры?
Или только выходные формы или данные в таблицах?

Да, необходимо внести изменения и в некоторых случаях существенные.


AndreTMА вот если менять проект...
Тогда проще его полностью декомпилировать и собрать заново уже свой проект,
и от него уже плясать, как положено в Фоксе.

Вот как раз этот момент для меня и непонятен. Как происходит декомпеляция.
...
Рейтинг: 0 / 0
Что дальше?
    #35514603
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FoxPro - это не компилятор. Это интерпретатор.

Это значит, что готовый EXE - это не машинный код, а некая последовательность команд, которая интерпретируется при помощи Run-Time библиотек FoxPro (VFP9r.dll, VFP9renu.dll). По сути, все те же исходные программы, но записанные более компактно.

Как следствие, есть возможность выполнить обратное действие. Из готового EXE "вытащить" исходные тексты из которых этот EXE был собран. В принципе, можно даже вытащить директории, где эти исходные файлы находились. Впрочем, это уже "бантики".

Вот именно эту операцию и выполняет Refox. Правда, после его использования рекомендуют сразу же откомпилировать полученные файлы.

Сборка готового EXE начиается с создания файла-проекта и никак иначе. Это файлы PJX, PJT. Далее добавляешь в этот проект главный стартовый файл. Т.е. тот файл, который выполняется самым первым при запуске EXE.

В FoxPro главный файл может быть обозначен только и исключительно внутри файла-проекта. Не существует никаких особых ключевых слов или синтаксических конструкций для его выделения в программном коде.

По умолчанию, первый добавленный в проект файл автоматически становиться главным (если это возможно). Такой файл выделяется в проекте полужирным шрифтом.

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

В пределах одного файла - проекта может быть только один главный файл

В принципе, допустимо вообще не указывать главный файл. Однако из такого проекта невозможно будет создать готового EXE-файла. На этапе компиляции возникнет ошибка с сообщением о том, что Вы не указали главный файл проекта.

Как правило, это файл с расширением PRG. Т.е. программный файл. Но может быть и форма (SCX, SCT) и проект меню (MNX, MNT), хотя это скорее экзотика.

После того, как добавил главный стартовый файл можно сразу нажать кнопку BUILD и выбрать режим "Rebuild Project". FoxPro сам постарается найти все вызываемые файлы и добавит их в файл проекта.

Впрочем, кажется Refox достает и файл проекта из EXE.
...
Рейтинг: 0 / 0
Что дальше?
    #35514607
Sergey Sizov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВладимирМВпрочем, кажется Refox достает и файл проекта из EXE.
Не достает, его там нет и ему там делать нечего. Создает новый.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Что дальше?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]