#database #delphi #demo #paradox #quantumgrid
#База данных #delphi #ДЕМОНСТРАЦИЯ #парадокс #quantumgrid
Вопрос:
Всякий раз, когда я открываю одну из демонстрационных версий Quantum Grid в Delphi XE Pro (в 32-разрядной версии Windows 7), для каждой таблицы (я думаю) в проекте отображается следующая ошибка:
сообщение об ошибке http://www.tranglos.com/img/qgerror.png
Сообщение:
Network initialization failed.
File or directory does not exist.
File: C:PDOXUSRS.NET
Permission denied.
Directory: C:.
Я понимаю проблемы с разрешениями при записи в c:, но в результате, хотя я могу создавать и запускать демонстрационные проекты, данные не отображаются, что делает демонстрации довольно бесполезными. И что за база данных записывает свою конфигурацию в c: directory в любом случае в 21 веке? 🙂 (Да, я очень мало знаю о базах данных Paradox, но я тоже никогда не буду их использовать. Я просто хочу научиться использовать grid.)
С помощью администратора BDE я попытался изменить значение Paradox «NET DIR» на папку с правами на запись на диске C. Результат: теперь таблицы базы данных не могут найти свои данные:
Path not found.
File: C:....DataGENRES.DB.
…и бесполезно усеченный путь не указывает, где должны находиться файлы.
Есть ли способ обойти проблему, чтобы демонстрационные версии могли правильно загружать свои образцы данных?
Комментарии:
1. DevExpress обычно обеспечивает быструю и отзывчивую поддержку, но сегодня это ошибка сервера в приложении ‘/ Support / Center’ , отсюда и мой вопрос.
2. Предложение: когда отображается диалоговое окно с ошибкой, вы можете нажать CTRL C, и его содержимое будет скопировано в буфер обмена. Полезный ярлык, позволяющий избежать скриншотов и ссылок на изображения.
3. @ldsandon: Я знаю это и использую это, но попробуйте вставить скопированное таким образом содержимое непосредственно в редактор SO, результат выглядит довольно плохо. Вот почему я использовал как скриншот, так и (отредактированное вручную) сообщение.
Ответ №1:
Вы правильно установили BDE? Он должен использовать файлы DBDEMOS. Видите ли вы такой псевдоним в утилите администрирования BDE? Можете ли вы открыть эту базу данных в одной из демонстрационных версий Delphi?
BDE — это не база данных XXI века, она была разработана двадцать лет назад и никогда не обновлялась в последнее время. Это устаревшая технология, но поскольку она по-прежнему поставляется с каждым выпуском Delphi с известной базой данных, она по-прежнему часто используется в демонстрационных версиях, потому что ничего нового устанавливать не нужно.
В любом случае, этот файл не является его конфигурационным файлом. Это файл блокировки общего доступа, позволяющий нескольким пользователям одновременно использовать базу данных. Поскольку это файловая база данных без центрального сервера, она должна использовать такие общие файлы. Обычно его положение изменяется на общий сетевой ресурс, но по историческим причинам по умолчанию используется значение C:.
В любом случае, это не только BDE, который все еще пытается записывать в каталоги prong. Я все еще вижу целую кучу приложений, пытающихся записывать в C: (особенно журналы) или другие позиции, доступные только для чтения.
Ответ №2:
Использование BDE Admin для изменения местоположения для PDOXUSRS.NET помогло, но этого было недостаточно. DevExpress поступил правильно, указав относительную папку для расположения данных, и относительная папка кажется совершенно правильной, но по какой-то причине DB не может ее найти.
Решение: в папке Demos найдите все файлы *.dfm, содержащие строку
....Data
и замените эту строку абсолютным путем к папке с демонстрационными версиями. После этого все демонстрации открываются корректно.
Комментарии:
1. Хм, интересно, что я сделал, чтобы заслужить понижение голосов, ответив на свой собственный вопрос с помощью метода, который работает!
Ответ №3:
Я знаю это сообщение из наших собственных приложений. Это связано с мерами безопасности, введенными в Windows Vista. Операционная система, пытающаяся защитить критически важные файлы, запрещает доступ к ним. Есть способ обойти этот механизм без ущерба для безопасности. Попробуйте запустить свое приложение в режиме совместимости. Когда приложение работает в режиме совместимости, операции чтения / записи из / в системные папки перенаправляются в «безопасные» каталоги, расположенные в C:Users [Текущий пользователь] AppData Local VirtualStore. Подробнее о http://www.windowsecurity.com/articles/Protecting-System-Files-UAC-Virtualization-Part1.html.