Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Как перенести проект на другую машину??
|
|||
|---|---|---|---|
|
#18+
Проблема: переношу проект на другую машину, пытаюсь открыть для редактирования, но появляються сообщения что фокс не может найти нужных библиотек, файлов ну и т.д. Кот может подсказать, как нужно правильно перенсти проект , для дальнейшего его редактирования на другой машине? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2003, 13:44 |
|
||
|
Как перенести проект на другую машину??
|
|||
|---|---|---|---|
|
#18+
Я тут пишу нечто вроде Help для начинающих. Вот одна из статей оттуда ========================================================= Расположение файлов проекта По большому счету, проект - это набор файлов. Возникает вопрос - где и как их расположить? Если у Вас он не возникает, то Вы или очень опытны (это же очевидно!), или наоборот очень неопытны (а разве это важно?). Главным правилом в данном случае выступает разделение рабочих (модифицируемых) файлов и исполняемых (не модифицируемых). Имеется в виду прежде всего их физическое (по разным директориям) разделение. Причина такого "неравноправия" прежде всего в том, что есть серьезные опасения в порче исполняемых файлов. Пусть случайное и непреднамеренное. Но если рабочие и исполняемые файлы лежат в одной директории, то очень легко ошибиться с выбором и модифицировать не тот файл. В результате - FoxPro или начнет работать с ошибками или вообще перестанет работать. Другой причиной является возможность быстрого копирования рабочих файлов. Если они расположены компактно в одной директории, то Вы не задумываясь просто копируете эту директорию со всем содержимым и не надо мучительно выискивать, что надо копировать, а что лишнее. Необходимость копирования объясняется как минимум необходимостью создания резервных копий всех рабочих файлов (есть и другие причины). По самой своей сути программирование - это модификация файлов. А файл можно "модифицировать" так, что мало не покажется. После чего остается только полностью удалить эту "модификацию" и начать все заново. Хорошо, если у Вас есть резервная копия, тогда Вы начнете не с нуля. А если нет? Еще одной немаловажной причиной хранения файлов проекта отдельно от файлов FoxPro является удобство поиска нужных рабочих файлов. Если они свалены в одну "кучу" с рабочими файлами FoxPro, то становится очень тяжело найти нужный файл. Итак, файлы Вашего проекта не следует хранить в той директории, где установлен собственно FoxPro. Следовательно, необходимо создать отдельную директорию для Ваших проектов. Нежелательно в именах директорий, где расположен Ваш проект использовать пробелы и русские буквы. Пробелы приведут к некторому усложнению программирования (необходимы будут дополнительные кавычки во всех путях доступа). А русские буквы нежелательны потому, что FoxPro разрабатывалось прежде всего для англоязычных пользователей и все прочие языки - это уже "надстройка". Причем зачастую эта "надстройка" весьма кривовата. Никогда не знаешь где тебе аукнутся русские буквы. В идеале, хорошо бы давать имена директорий в DOS-формате (т.е. до 8 символов), но это уже перестраховка. Уместитесь в 8 символов - хорошо, нет - ничего страшного. Расположение файлов внутри проекта Следующий вопрос - это вопрос расположения уже файлов самого проекта. Опять же крайне нежелательно сваливать все файлы в одну директорию. Причины здесь те же - риск порчи, необходимость резервного копирования, сложность поиска. Но уже внутри Вашего проекта. Пежде всего, обязательно следует выделить отдельную директорию для хранения базы данных. Как правило, эту поддиректорию так и называют "DATA". В этой директории хранится как файл контейнера базы данных (DBC, DCT, DCX), так и файлы собственно таблиц (DBF, FPT, CDX) Прочие файлы также следует "раскидать" по поддиректориям, но тут уже возможны варианты. В примерах от MicroSoft рекомендуется хранить файлы по их типам: формы в директории Forms, классы в директории Class и т.п. Однако я предпочитаю хранить файлы по их логическому назначению: главные файлы программы в директории Main, файлы для работы со справочниками в директории SPR, файлы для работы с документами в директории Document и т.п. Какой вариант примете Вы - не так важно. Главное, чтобы у Вас файлы были "раскиданы" по нескольким директориям Итак, в результате у Вас получится примерно следующая структура каталога Вашего проекта C:\ProjVFP C:\ProjVFP\MainProj C:\ProjVFP\MainProj\Class C:\ProjVFP\MainProj\Data C:\ProjVFP\MainProj\Forms C:\ProjVFP\MainProj\Prg Здесь каталог C:\ProjVFP - предназначен для хранения многих проектов, которые Вы без сомнения еще напишите. А собственно уже конкретно Ваш проект расположен в директории C:\ProjVFP\MainProj Содержимое главной директории проекта Ну хорошо, раскидали мы файлы по разным поддиректориям, а что же остается внутри главной директории проекта? А вот внутри главной директории остается, во-первых, собственно файл проекта (файлы с расширением PJX, PJT), во-вторых, обязательно файл конфигурации CONFIG.FPW (это обычный текстовый файл, о нем чуть ниже) и в-третьх, файл ресурсов FoxUser.DBF и FoxUser.FPT Прочие файлы уже по мере необходимости в конкретном проекте, но как правило, больше ничего здесь храниться не должно. Вполне естесственное желание, назвать файл проекта тем же имененем, что и директория в которой он расположен, поскольку собственно ради него все это и затевается. Именно так и следует поступить - назвать файл проекта MainProj.pjx (и MainProj.pjt) Файл ресурсов FoxUser.dbf и FoxUser.fpt можно и не создавать специально, а только сделать специальную запись в файле конфигурации (в этом случае он будет создан автоматически). Зачем вообще надо тащить этот файл ресурсов в директорию проекта? Дело в том, что файл ресурсов хранит в себе координаты и положения всех когда-либо открываемых окон в среде FoxPro. Это значит, что в случае использования одного и того же файла ресурсов для всех проектов это файл "раздуется" до неимоверных размеров. А ведь в случае копирования проекта домой, желательно захватить с собой и файл ресурсов, чтобы "картинка не сбилась". Удобнее это сделать, если файл ресурсов физически расположен в той же директории, где и сам проект, а не искать его в директории FoxPro. Определить какой именно файл ресурсов используется и где он находится можно с помощью функции SYS(2005) Файл конфигурации CONFIG.FPW Теперь важнейший вопрос о файле конфигурации CONFIG.FPW. Это обычный текстовый файл и о нем почему-то крайне редко упоминается в книгах о FoxPro. Этот файл необходимо создать самостоятельно. Автоматически он не создается. Как правило, используют 2 файла конфигурации - один на этапе создания и отладки проекта и другой - на этапе исполнения собственно готового EXE у клиента. Тот файл конфигурации, который поставляется клиенту можно включить внутрь EXE, но лучше этого не делать. В этом случае он позволяет производить некоторую внешнюю настройку среды FoxPro даже в готовом EXE. Итак, что же должно быть в том файле конфигурации, который используется на этапе создания и изменения проекта. Вот его примерное содержание CODEPAGE=1251 RESOURCE=FoxUser.dbf TITLE=Мой новый проект PATH=Data,Forms,Class,Prg COMMAND=MODIFY PROJECT MainProj.pjx CODEPAGE - эта строка должна быть обязательно, если Вы работаете с данными на русском языке. Если этой строки не указать, то может не произойти автоматическая трансляция символов русского языка и вместо них будут отображены какие-то закорючки. RESOURCE - эта опция говорит о том, что в качестве ресурсного файла выступает файл FoxUser.dbf расположенный в директории по умолчанию. Если такого файла там нет, то он будет создан автоматически. В принципе, Вы можете указать абсолютно любое имя для ресурсного файла, но лучше придерживаться принятого стандарта, чтобы не запутаться. TITLE - эта опция задает текст заголовка главного окна FoxPro вместо стандартного "Microsoft Visual FoxPro". Заключать текст заголовка в кавычки не надо. PATH - еще одна очень важная настройка. Она говорит FoxPro о том, где следует искать файлы (в каких директориях) относительно текущей директории. В качестве разделителя можно указывать как просто запятую, так и символ точки с запятой. Подробнее о путях доступа чуть ниже. COMMAND - эта опция задает команду, которую необходимо выполнить в момент открытия среды FoxPro. К сожалению, нельзя указать несколько опций COMMAND. Из них будет выполнена только одна. Но если Вам необходимо выполнить несколько команд при открытии среды FoxPro, то напишите их все в специальном файле PRG и опция будет выглядеть например так: COMMAND=DO Start.prg По умолчанию, FoxPro "запоминает" последний открытый проект и пытается его открыть при каждом открытии среды FoxPro. Это удобно, когда Вы работает с одим проектом, но при работе с несколькими проектами это раздражает. Отключить режим автоматического открытия последнего открытого проекта можно в среде FoxPro: Пункт главного меню Tools -> Options -> закладка View -> Снять "птичку" в пункте "Open last project on startup" и сохранить настройки по кнопке "Set As Default". А для открытия "нужного" проекта при открытии FoxPro как раз и используется опция COMMAND в файле конфигурации. В файле конфигурации можно сделать еще много различных настроек, но в большинстве случаев это не нужно. Например, большинство команд SET по умолчанию настроены как раз таким образом, который помогает отлаживать проект. Т.е. делать их перенастройку в файле конфигурации просто не имеет смысла. Следует иметь в виду, что файл конфигурации используется только один раз при запуске среды FoxPro. Поэтому, если Вы внесли изменения в файл конфигурации, то они вступят в силу только после перезагрузки среды FoxPro. Как открыть проект Обратите внимание, что я не указал в файле конфигурации директории по умолчанию. В принципе, это можно сделать используя опцию DEFAULT примерно так: DEFAULT=C:\ProjVFP\MainProj Однако есть способ лучше. Для открытия проекта создайте ярлык на рабочем столе со следующими реквизитами (у меня VFP6, поэтому пути соответствующие) Командная строка "C:\Program Files\Microsoft Visual Studio\Vfp98\VFP6.EXE" -T -C"C:\ProjVFP\MainProj\config.fpw" Директория по умолчанию "C:\ProjVFP\MainProj" Ключи запуска можно записать вместе как "-TC". Ключ "-T" говорит о том, что при запуске среды FoxPro не надо отображать заставку-логотип, а ключ "-C" говорит о том, что следом за ним указан полный путь доступа вместе с именем файла конфигурации, который следует использовать при запуске среды FoxPro. Строго говоря здесь можно указать абсолютно любое имя файла конфигурации, но лучше придерживаться принятого стандарта, чтобы не запутаться. В следующей строке Вы указываете и собственно директорию по умолчанию, которой и является та директория в которой расположен Ваш файл проекта. Если Вы работаете с несколькими проектами, то создайте отдельные ярлыки для каждого проекта и отдельные файлы конфигурации. А сами ярлыки поместите в отдельную папочку на рабочем столе. Пути доступа к файлам проекта Итак, если Вы последовали всем приведенным выше рекомендациям, то у Вас должно получится следующее: При запуске среды FoxPro в качестве директории по умолчанию устанавливается директория, где расположен сам файл проекта, а все прочие файлы проекта располагаются в поддиректориях. Как же в этом случае обратится к рабочим файлам проекта? Если Вы указали опцию PATH в файле конфигурации, то обращаетесь так, как-будто все файлы проекта лежат в текущей директории, например: USE MyTable.dbf DO FORM MyForm.scx Несмотря на то, что физически таблица MyTable.dbf находится в папке "DATA", а файл формы MyForm.scx в папке "Forms" FoxPro тем не менее найдет и запустит нужные файлы, поскольку путь доступа к ним был прописан в опции PATH в файле конфигурации. Использование путей доступа в настройках файла конфигурации (или же программно в стартовом файле проекта) позволяет в простых случаях легко переносить проект из одной директории в другую. То же самое можно сказать и о данных. Вы спокойно включаете таблицы в DataEnvironment форм и отчетов не заботясь о том, что у клиента эти таблицы физически будут расположены в других директориях. Они все-равно будут найдены, если задан путь доступа к ним. Разумеется, есть ситуации, когда простого указания путей доступа оказывается недостаточно. Например, когда Вы одновременно работаете с несколькими одноименными таблицами принадлежащими разным базам данных. В таких случаях используются различные приемы принудительного указания абсолютных путей доступа (здесь я их рассматривать не буду). Но в большинстве случаев использование настройки PATH оказывается вполне достаточным. Заключение Следование изложенным здесь рекомендациям позволит облегчить процесс поиска и использования отдельных файлов проекта не только на этапе создания и изменения проекта, но и при распростарнении готовых проектов клиентам. Кроме того, облегчается процесс создания резервных копий (да и просто копирования) файлов Вашего проекта. А также снижается вероятность порчи рабочих файлов собственно FoxPro. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2003, 17:02 |
|
||
|
|

start [/forum/topic.php?desktop=1&fid=41&tid=1597849]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
138ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
| others: | 253ms |
| total: | 488ms |

| 0 / 0 |
