Re: Вопрос по ОПЗ
Додано: 08 травня 2013, 12:42
В программировании существует понятие "Относительный путь". Используется путь (в контексте нашего вопроса) относительно главного исполняемого файла (обычно расширения *.ехе, хотя в ОПЗ почему-то это файл MAIN.HTA). Принято создавать программы так, чтобы от него отталкиваться при работе с другими файлами и каталогами. Поэтому большинство несложных программ могут вообще быть "переносными" на любые диски (в т.ч. флешки). Более сложные программы могут использовать настройки операционной системы и базы данных. ОПЗ насколько мне известно работает по принципу простых программ и базы данных не имеет, и потому относительные пути (относительно его главного исполняемого файла, а именно MAIN.HTA) вполне работоспособны при перенесении файлов.
Проще говоря, можете перенести с диска С на диск Д программу в любой каталог, скопировать все файлы, - и все должно работать. Только настройки путей (как правильно говорит Popen) перепроверьте и перепишите.
Данные о предприятиях хранятся в этом файле: SETTINGS.XML
П.С. программы инсталлируются туда, куда по-умолчанию укажет разработчик инсталлятора. Что такое инсталляция (в упрощенном виде)? Не что иное, как "Копировать - вставить" с файлами и папками, которое мы делаем например с диска на флешку. Просто картинки красивые добавляются и все такое. В общем, красивости. По большому счету исполняемому файлу все равно, куда установлена программа:
C:\OPZ\ , или Х:\Абра_кадабра\Еще_куча_каталогов\А_здесь_наш_ОПЗ\
Он все равно для работы берет файлы (справочников, например) относительно своего местонахождения.
Поэтому смело берем справочники из одной программы, и копируем (с заменой) в другую. Программа не заметит подвоха, т.к. весь путь ДО исполняемого файла просто напросто ей "не виден". Она с ним не работает. Программа видит относительно себя каталог \spr\ и его содержимое ее интересует. А там уже те самые файлы, которые мы ей скормили. И она их кушает. И только мы знаем, что на самом деле произошло![Улыбается :)](./images/smilies/icon_e_smile.gif)
Есть общепринятые нормы создания инсталляторов (как например, инсталляция в каталог C:\Program Files\). Не больше, ни меньше. Если путь в процессе инсталляции позволяется менять (в 99% программ это так), то предполагается что это не скажется на работе программы. Оставлять путь по-умолчанию лучше всего в программах высокого уровня, особенно использующих СУБД (Оракл, SQL Server, и др) а также работающих в сетевой и терминальной среде.
Проще говоря, можете перенести с диска С на диск Д программу в любой каталог, скопировать все файлы, - и все должно работать. Только настройки путей (как правильно говорит Popen) перепроверьте и перепишите.
Данные о предприятиях хранятся в этом файле: SETTINGS.XML
П.С. программы инсталлируются туда, куда по-умолчанию укажет разработчик инсталлятора. Что такое инсталляция (в упрощенном виде)? Не что иное, как "Копировать - вставить" с файлами и папками, которое мы делаем например с диска на флешку. Просто картинки красивые добавляются и все такое. В общем, красивости. По большому счету исполняемому файлу все равно, куда установлена программа:
C:\OPZ\ , или Х:\Абра_кадабра\Еще_куча_каталогов\А_здесь_наш_ОПЗ\
Он все равно для работы берет файлы (справочников, например) относительно своего местонахождения.
Поэтому смело берем справочники из одной программы, и копируем (с заменой) в другую. Программа не заметит подвоха, т.к. весь путь ДО исполняемого файла просто напросто ей "не виден". Она с ним не работает. Программа видит относительно себя каталог \spr\ и его содержимое ее интересует. А там уже те самые файлы, которые мы ей скормили. И она их кушает. И только мы знаем, что на самом деле произошло
![Улыбается :)](./images/smilies/icon_e_smile.gif)
Есть общепринятые нормы создания инсталляторов (как например, инсталляция в каталог C:\Program Files\). Не больше, ни меньше. Если путь в процессе инсталляции позволяется менять (в 99% программ это так), то предполагается что это не скажется на работе программы. Оставлять путь по-умолчанию лучше всего в программах высокого уровня, особенно использующих СУБД (Оракл, SQL Server, и др) а также работающих в сетевой и терминальной среде.