Гость
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Классы в app / 7 сообщений из 7, страница 1 из 1
18.09.2013, 11:06
    #38399801
rikitiki
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Классы в app
Добрый день
Создал класс на основе Custom (отвечает за настройку главного окна VFp при запуске программы, проверка существования логических дисков, проверка повторного запуска и т.п.)
На его основе создаю класс в проекте, основной класс в проект не включаю
создаю ехе все работает отлично. Переношу на другую машину - пишет нет родительского класса. Бросаю родительский класс .vcx на машину клиента опять все ок. Но я не хочу бросать клиенту .vcx, прочитал, можно сделать из основных библиотек .app, но как?
может подскажите ссылку где прочитать?
VFP9.0 SP2
...
Рейтинг: 0 / 0
18.09.2013, 13:41
    #38400128
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Классы в app
rikitikiПереношу на другую машину - пишет нет родительского класса. Бросаю родительский класс .vcx на машину клиента опять все ок
Все правильно, дочерний класс не содержит кода родительского, поэтому без родительского не будет работать.
rikitiki прочитал, можно сделать из основных библиотек .app, но как?
Создай отдельный проект, включи туда свои VCXы и откомпилируй в APP.
Только непонятно почему ты их не хочешь включить в свой EXE?
Если это от желания спрятать свой код, то нет никакой разницы в EXE он или в APP.
...
Рейтинг: 0 / 0
18.09.2013, 14:13
    #38400159
rikitiki
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Классы в app
Dima TrikitikiПереношу на другую машину - пишет нет родительского класса. Бросаю родительский класс .vcx на машину клиента опять все ок
Все правильно, дочерний класс не содержит кода родительского, поэтому без родительского не будет работать.
rikitiki прочитал, можно сделать из основных библиотек .app, но как?
Создай отдельный проект, включи туда свои VCXы и откомпилируй в APP.
Только непонятно почему ты их не хочешь включить в свой EXE?
Если это от желания спрятать свой код, то нет никакой разницы в EXE он или в APP.

для уменьшения размера exe и для обновлений (не всегда нужно менять ехе, достаточно изменить родительский класс)
программа одна (костяк один для всех), но каждая фирма хочет еще какую-то отдельную фичу себе
у меня одна программа написана для 10 фирм, для каждой имеется своя папка где лежит проект (копирую, потом изменяю некоторые данные и т.п.) ( но если кто-то замечает ошибку или просит переделать функцию по другому, что работает гораздо лучше, приходится это изменять во всех проектах отдельно, хотя функция везде одинаковая с мелкими изменениями) когда было 2-3 фирмы - делал без проблем, сейчас запутался окончательно, у кого-то новее программа у кого-то старая, где-то исправил ошибки, где-то забыл. Ужассс!

создал app - запускаю ехе - пишет не найдена библиотека vcx
...
Рейтинг: 0 / 0
18.09.2013, 15:23
    #38400279
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Классы в app
rikitikiсоздал app - запускаю ехе - пишет не найдена библиотека vcx
откуда EXE знать в каком APP искать библиотеку? Надо явно указать:
Код: sql
1.
SET CLASSLIB TO MyLib IN MyAPP.APP



Только если проблема в том что несколько EXE должны использовать одни и те же классы базовые, то решается она проще: выносишь VCX в отдельную папку и цепляешь во все проекты. Тогда исправить в одном, а в остальных надо будет пересобрать EXE. Так отлаживать проще, т.к. при использовании APP в коде EXE надо ссылаться на APP, т.е. для отладки APP каждый раз его компилировать.

А с размером можно бороться ставив галку "Recompile all files"
или так собирать
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
close Databases all
clear All
use MyLib1.vcx excl
pack
use MyLib2.vcx excl
pack
...
close Databases all
build Exe "My.exe" FROM "My.pjx" 


иначе 9й фокс PACK не делает и VCXы распухают от мусора помеченного на удаление.
...
Рейтинг: 0 / 0
18.09.2013, 17:08
    #38400529
rikitiki
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Классы в app
Dima T,
галочку ставлю всегда еще когда писал на 5 версии
за подсказку спасибо, попробую собрать все классы в отдельной папке
...
Рейтинг: 0 / 0
18.09.2013, 22:12
    #38400847
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Классы в app
Не проверял как сейчас, но раньше IN APP срабатывала только в design-time (на этапе разработки). В run-time (в готовом EXE) срабатывала не всегда. В этом случае писали процедуру-посредник. Подробнее здесь

http://forum.foxclub.ru/read.php?29,337710,page=1
...
Рейтинг: 0 / 0
19.09.2013, 12:21
    #38401287
rikitiki
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Классы в app
ВладимирМ,
Спасибо
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Классы в app / 7 сообщений из 7, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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