Советы по Delphi. Версия 1.4.3 от 1.1.2001
Шрифт:
«out of disk space» (недостаточно места на диске),
«no temp var» (нет временных переменных),
«error 101» (ошибка 101)
«error 102"(ошибка 102)
Освободите дисковое пространство и/или убедитесь в наличие переменных среды и временного каталога. На диске, куда устанавливается Delphi, во временном каталоге должно быть достаточно свободного места.
• Если в процессе установки вы получите следующую ошибку:
«Install Shield error filename –51» (ошибка Install Shield при работе с файлом –51),
то попробуйте сделать следующее:
1. Скопируйте все файлы (КРОМЕ CTL3D32.DLL) из каталога runimage\delphi20\windows\system32,
2. Сбросьте флажок «read only» (только для чтения) во всех файлах, скопированных во временный каталог.
3. Скопируйте файлы в ваш каталог windows\system, или windows\system32 для системы Windows NT.
4. Снова запустите установку.
Другая информация, необходимая для успешной установки
• Попробуйте выполнить установку с вашего жесткого диска. Чтобы сделать это, удалите Delphi 2.0, затем просто скопируйте файлы из каталога установки Delphi 2.0 CD во временный каталог вашего диска, после чего запустите из этого каталога программу установки. После успешной установки скопированные во временный каталог файлы можно удалить.
• Временно переименуйте файл win.ini (расположенный в вашем каталоге Windows) в win.in$, перезагрузите систему и переустановите или перезапустите Delphi 2.0. Если это поможет, то причиной невозможности в установке Delphi могут быть любые программы, указанные в секции run или load файла win.ini, или нестандартные драйверы принтера.
• Загрузите стандартный видеодрайвер, поставляемый с вашей системой Windows.
• Проверьте атрибут «read-only» (только для чтения) для файлов, расположенных в каталогах Windows и windows\system.
Вопросы, которые могут возникнуть после установки
• Если при попытке установки 32-битного ODBC драйвера для BDE вы получаете сообщение об ошибке «odbc is corrupt or not installed correctly» (ODBC испорчен или неправильно установлен) или «BDECFG32.EXE Error» (ошибка BDECFG32.EXE), то в первую очередь вам нужно установить 32-битный менеджер ODBC, доступный в InterSolv и Microsoft. Хорошим источником является Интернет-сервер корпорации Microsoft, расположенный по адресу www.microsoft.com.
• Если вы установили Delphi 1.0 после установки Delphi 2.0, и Delphi 2.0 загружает файлы помощи от Delphi 1.0, удалите любые ссылки на файлы помощи Delphi 1.0 из файла WINHELP.INI, расположенного в вашем каталоге Windows.
Как проводить локализацию своих приложений?
Nomadic советует:
В Delphi 3 и 4 есть специальные механизмы, позволяющие приложение «переделать» на любой язык после компиляции. Для D3 надо посмотреть в хелпе, по-моему, internationalization или что-то в этом роде. Для D4 вообще все делается ОЧЕНЬ просто:
1. берется проект, компилируется;
2. тут-же, не закрывая проект, вызвается New|Resource DLL Wizard, в нем указывается, какие формы и модули должны подвергнуться переводу на другой язык;
3. в результате работы Wizard появляется проект (sic!) с RC и DFM. Открываем формы, и переделываем все сообщения + размер (соотв. длине сообщений);
4. Компилируем. В результате получается файл xxxxxxx.rus, где xxxxxxx – название исходного проекта;
5. Запускаем xxxxxxx.exe.
Видим некий не наш язык. Подкладываем в каталог с этим exe изготовленный файл xxxxxxx.rus, и запускаем exe повторно. Видим абсолютно ВЕЗДЕ переведенные сообщения.p.s. файл RUS можно подставлять и убирать по вкусу.
crtdll.dll в программах на Delphi
Здравствуйте.
Тут открыл кое-что, возможно, давным давно всем известное. :) Поделюсь на всякий случай.
Сначала немного о корнях проблемы. Не секрет, что в Delphi модуль Math поставляется только с Enterprise-версией программы. А платить больше тысячи долларов только за то, чтобы воспользоваться парой функций совсем не хочется (мне, например, простенькой atan2 часто не хватало).
Простым решением является «заимствование» модуля Math из пиратской Enterpise-версии, но это, вообще-то, воровство. Самому же создавать матеатическую библитеку с нуля – занятие неблагодарное (по крайней мере достаточно трудоёмкое).
Не работая плотно на MSVC я как-то был не в курсе наличия библиотеки crtdll.dll в Windows (насколько мне удалось выяснить, она таки является частью операционной системы, по крайней мере ставится вместе с Windows 9x/NT/2000). С её помощью можно решить указанную проблему, воспользовавшись готовым решением, а именно – объявить все необходые функции из math.h в своей программе и наслаждаться. :)
Пример с atan2:
Проверено – работает. Поскольку метод открылся буквально только что, я ещё не успел сделать модуль-обёртку для всех математических функций. Видимо, сделаю и отдам во всеобщее пользование.
Да, в crtdll.dll много фукнций, не связанных с математикой, в частности, если вы в программе используете PChar, то можно воспользоваться набором сишных strcmp, strcpy…, так же доступны isalpha, isdigit…, и, наконец, bsearch и qsort. :)
С уважением,
Марк Шевченко.
Как сказать VCL, чтобы клавиши shortcut пунктов главного меню главной формы действовали только в этой форме (но не в модальных окнах, к примеру)?
Nomadic советует:
Знакомая проблема. Лечится так: