Приложение Foxpro и проблема со съемными дисками - PullRequest
0 голосов
/ 11 сентября 2008

У меня есть приложение foxpro, которое содержит жестко заданный путь для значков и растровых изображений. Вот как это делает foxpro, и нет никакого способа обойти это. И это работает нормально, за исключением того, что когда съемный диск был использован, но не подключен, а когда подключен, Windows назначает ту же букву, что и жестко заданный путь, при открытии любой формы, содержащей такой путь, появляется следующее сообщение об ошибке ( ИЗ ОКНА , а не лиса):

Windows-Нет диска Сообщение об обработке исключения c0000012 Параметры .....

Любая помощь, пожалуйста Нельсон Мармол

Ответы [ 7 ]

2 голосов
/ 11 сентября 2008

Нельсон:

«Вот как это делает foxpro, и нет никакого способа обойти это»?

Я использую FOX начиная с FoxPro 2.5 до Visual FoxPro 9, и вы НИКОГДА не вынуждены каким-либо образом жестко кодировать путь, вы можете использовать SET PATH TO (sYourPath), вы можете вставлять значки и растровые изображения в EXE / APP-файл, и поэтому нет необходимости включать эти ресурсы извне.

Вы говорите, что у вас есть "Foxpro App": какая версия? Старый MS-DOS FoxPro или Visual FoxPro? Если вы используете VFP 8+, вы можете использовать SYS (2450, 1):

Specifies how an application searches for data and resources such as functions, procedures, executable files, and so on. 

You can use SYS(2450) to specify that Visual FoxPro searches within an application for a specific procedure or user-defined function (UDF) before it searches along the SET DEFAULT and SET PATH locations. Setting SYS(2450) can help improve performance for applications that run on a local or wide area network.


SYS(2450 [, 0 | 1 ])



Parameters
0 
Search along path and default locations before searching in the application. (Default)

1 
Search within the application for the specified procedure or UDF before searching the path and default locations.

Одним из быстрых решений может быть назначение другой буквы для вашего USB через диспетчер дисков.

0 голосов
/ 06 ноября 2009

Если кто-то еще сталкивается с этим, вы обычно можете напечатать что-то подобное для свойства Icon в окне «Свойства», чтобы принудительно оценить его, что, вероятно, предотвратит автоматическое заполнение пути:

= "icon.ico"

вместо просто icon.ico .

0 голосов
/ 19 июля 2009

Если ваше приложение может определить путь к файлу иконки во время выполнения, то в событии загрузки формы вы можете установить значок с помощью:

THIS.Icon=<path to file>
0 голосов
/ 25 сентября 2008

Нет, мы не распространяем формы или что-то еще с приложением ... это exe. Я забыл упомянуть, что EXE сжат и запутан с KONXIZE 1.0.

0 голосов
/ 15 сентября 2008

Мне кажется, что вы распространяете формы / отчеты / этикетки и т. Д. Среди клиентов. Если вы создаете EXE-файл, проблема «пути» не должна возникать, поскольку VFP вставит ресурс (в данном случае значок) в исполняемый файл и будет знать, как извлечь его во время выполнения.

Петерсон

0 голосов
/ 11 сентября 2008

Это VFP8 и извините, если я не объяснил себя в принципе. Кроме того, я думаю, что "нет никакого пути" может звучать плохо. Я имел в виду свойство " ICON " в формах. Поскольку каждый тип компонента разделен на папки (формы, отчеты, меню, значки и т. Д.), Если вы попытаетесь сделать путь относительным, при следующем редактировании файла foxpro будет включать полный путь. Эта проблема началась недавно, и мы обнаружили, что наши клиенты начали использовать внешние USB-накопители в качестве средства для резервного копирования.

0 голосов
/ 11 сентября 2008

Я согласен с @PabloG - прошло уже более десяти лет с тех пор, как я работал с FoxPro (Dos & Windows), но даже в FPW2.6 вы могли определить, откуда запускалось ваше приложение, установить абсолютные или относительные пути поиска и даже связать ваши ресурсы прямо в "скомпилированном" (хе) exe. Все наши ресурсы находились в определенной подпапке в папке приложения, файлы базы данных в другой подпапке также под папкой приложения. Насколько я помню, мы использовали относительные пути для всего.

Не могли бы вы дать нам немного больше информации о проблеме?

Если вы считаете, что было бы полезно, я мог бы попытаться найти кое-что из нашего кода FPW2.6, где мы делаем подобные вещи. : -)

...