Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Компиляция. Проблемы.
|
|||
|---|---|---|---|
|
#18+
Программа(exe-файл написана в VFP 6.0) в рантайме должна компилировать в FXP файл, какой-либо внешний файл например test.prg содержащий исходный текст на VFP 6.0. Для выполнения этой задачи в приложении написан такой такой код: if file("c:\test.fxp") then && Если файл test.fxp уже существует erase("c:\test.fxp") && то удаляем его endif compile c:\test.prg && компилируем prg файл, получаем fxp файл do c:\test.fxp && запускаем fxp Все работает прекрасно, и можно несколько раз запускать внешний файл test.prg на выполнение, менять исходник и вновь перезапускать не выходя их приложения, НО только в том случае, если в файле не используются объекты. А если в файле test.prg будет хотя бы такой код: MyObject = CreateObject("MyClass") release MyObject define class MyClass As Custom enddefine то такой файл в перый раз будет скомпилирован и выполниться успешно, а при втором запуске будет выдана ошибка, невозможно удалить файл, так ка него имеются ссылки. Подскажите пожалуйста: 1) Где на fxp файл остаются ссылки(причем как видно только при создании объектов) и как их можно ликвидировать? 2) Нужно ли удалять каждый раз fxp файл перед компиляцией, после изменения prg файла или есть какие-то директивы по принудительному изменению fxp, после изменения prg файла? 3) Если в test.prg файле будет к примеру такой код: do MyProc in MyLib.prg как можно компилируя test.prg, перекомпилировать автоматом программно и MyLib.prg, т.е. и на него обновить fxp файл, в случае если он изменился. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2004, 13:56 |
|
||
|
Компиляция. Проблемы.
|
|||
|---|---|---|---|
|
#18+
Примерно так, но проверял я это на VFP 8.0: Код: plaintext 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2004, 16:05 |
|
||
|
Компиляция. Проблемы.
|
|||
|---|---|---|---|
|
#18+
Большое спасибо. Действительно таким образом проблема решена. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2004, 16:50 |
|
||
|
Компиляция. Проблемы.
|
|||
|---|---|---|---|
|
#18+
KroketБольшое спасибо. Действительно таким образом проблема решена. OK, no problems any time during which I am not studying Oracle ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2004, 21:05 |
|
||
|
Компиляция. Проблемы.
|
|||
|---|---|---|---|
|
#18+
Был бы весьма признателен, если бы кто-нибудь подсказал ответы на мои вопросы №2 и №3, содержащиеся выше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2004, 17:25 |
|
||
|
Компиляция. Проблемы.
|
|||
|---|---|---|---|
|
#18+
2. Сдаётся мне, что компиляция начисто пересоздаёт fxp. Т.е. не надо удалять. 3. Сдаётся мне, что придётся "просматривать" построчно на предмет наличия "DO xxx.PRG IN ... yyy.PRG", вырезать "xxx.PRG" и компилить... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2004, 18:39 |
|
||
|
Компиляция. Проблемы.
|
|||
|---|---|---|---|
|
#18+
Hi Kroket! 2) Удаляй - не удаляй разницы нету. Если он заблокирован - ты не удалишь его и не перекомпилируешь. Если НЕ заблокирован, то COMPILE заменит. 3) Нету таких средств. В среде он будет перекомпилировать при ряде условий (типа дата-время fxp меньше чем у prg). В рантайме - нет. Posted via ActualForum NNTP Server 1.1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2004, 01:29 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=32778103&tid=1595417]: |
0ms |
get settings: |
8ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
41ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
61ms |
get tp. blocked users: |
2ms |
| others: | 223ms |
| total: | 379ms |

| 0 / 0 |
