Q: Каким именно релизом Delphi вообще стоит пользоваться для каждой конкретной версии?
A: Во-первых, вы можете узнать точную версию Delphi, если в окошке Help | About нажмете кнопку Alt и, не отпуская, наберете «VERSION».
Delphi 1 следует апгрейдить до версии 1.02 с помощью патчей.
Delphi 2 следует апгрейдить до версии 2.01. Это полноценный дистрибутив. Эту версию можно, в частности, узнать по странице «Internet» в палитре компонентов. Ее точная версия 2.0.76.0.
Delphi 3 следует взять версии 3.02. Это полноценный дистрибутив 3.01 и патчи до 3.02.
Delphi 4 же должна быть обновлена вторым, а затем третьим Service Pack’ами, которые можно взять на сайте Inprise.
Версии Delphi 4.3 и 4.5 являются обманными версиями. В действительности это ранние беты Delphi 4.0.
Q: Как исправить проблемы с вызовом помощи при одновременно стоящих Delphi 1 и Delphi 2?
A: (AP): Решаются так…
В regedit убейте из секции HKLM\SOFTWARE\Microsoft\Windows\Help все, что равно «…\help».
Изменив соответствующие пути, импортируйте в реестр следующий файлик:
REGEDIT4
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\AppPaths\
delphi32.exe] @=»C:\\DELPHI2\\BIN\\delphi32.exe» «Path»=»C:\\DELPHI2\\HELP»
Q: Delphi 2 и 3 не отображают русские TTF под Windows NT WorkStation + ServicePack#3.
A: (AlPe): Попробуй сделать в [HKLM\Software\Microsoft\Windows NT\CurrentVersion\FontMapper] DEFAULT=0xcc (204) вместо 0x00 (Именно DEFAULT, а не (Default) получше маленько будет…
Q: А как включить окошко CPU Window?
A: Вставьте в реестр строковый ключ
HKCU\Software\Borland\Delphi\2.0\Debugging\
EnableCPU=1
Соответственно, для Delphi 3 — Delphi 3.0.
Q: Как установить компонент от Delphi одной версии под Delphi другой версии, если имеется только .DCU файл?
A: Никак. Фирма Borland всегда поддерживала несовместимость .DCU-файлов между разными версиями. Ищите исходник или .DCU, скомпилированный для соответствующей версии Delphi.
Q: При возникновении ошибки во время отладки программы машина перезагружается. Что делать?
A: Снести QEMM. Начисто. Простое отключение его функций не помогает. Впрочем, это исправлено в QEMM 9.0.
Q: Delphi 4 виснут при запуске. Видеокарта S3 Virge.
REGEDIT4
[HKEY_CURRENT_CONFIG\Display\Settings]
«BusThrottle»=»on»
Если не помогает, то попробуйте добавить в system.ini:
[Display]
«BusThrottle»=»On»
При работе программ на Delphi 1 под Windows 95 в hicolor-режимах на иконках TBitBtn’ов обнаруживаются странные коричневые артефакты. Как от них избавиться?
A: (AB): Залить фон битмапа синим цветом.
Q: Можно ли скомпилировать на Delphi 2/3/4 программу, работающую под Windows 3.1?
A: (NP): Нет, но в дистрибутиве с Delphi 2/3/4 поставляется Delphi 1 специально для этой цели.
Q: Куда из Delphi 3 делся модуль для работы с ReportSmith? А мои любимые модули работы с OLE: ole2, oleauto и olectl?
Они лежат в X:\DELPHI3\LIB\DELPHI2.
Q: Не работает передача данных по OLE в русский Excel.
A: (SM): Дело в том что в VCL твои команды OLE2 передаются Excel’у в русском контексте (не знаю, как это правильно назвать). Для исправления необходимо найти в файле OLEAUTO.pas в функции GetIDsOfNames строчку
if Dispatch.GetIDsOfNames(GUID_NULL, @NameRefs, NameCount,
LOCALE_SYSTEM_DEFAULT, DispIDs) 0 then
и заменить ее на
if Dispatch.GetIDsOfNames(GUID_NULL, @NameRefs, NameCount,
((LANG_ENGLISH+SUBLANG_DEFAULT*1024)+SORT_DEFAULT* 65536 ),
DispIDs) 0 then
После этого у меня Excel стал понимать нормальные английские команды :)). Необходимая комбинация для установки английского языка взята из C-шных хедеров.
Q: Database Desktop показывает содержимое таблиц шрифтом без русских букв. Что делать?
A: Для DBD 5.0 в файл c:\windows\pdoxwin.ini вставить в секцию
[Properties]
SystemFont=Arial Cyr
Для DBD 7.0 нужно исправить реестр: ключ
HKCU\Software\Borland\DBD\7.0\Preferences\Properties\
SystemFont=»Fixedsys»
Если такой ключ не существует, его следует создать. Впрочем, для просмотра таблиц все равно можно порекомендовать rx Database Explorer — у него это получается очень хорошо.
Q: Hе получается открыть таблицу, созданную в InterBase с DEFAULT CHARACTER SET WIN1251. Оно говорит, что «WIN1251 undefined».
A: (AA): Ставьте Interbase в каталог с путем, соответствующим DOS-овским соглашениям об именах (8+3).
Q: WindowsNT 4.0 + Delphi 2.01 C/S + Oracle Client 7.3 + Oracle Server 7.3. После логина в базу данных возникает «EExternalError 0xC0000008». Что делать?
A: (IA, SK): Снести Oracle Trace Collection Services.
Q: Как русифицировать сообщения программы?
A: Ответ зависит от версии Delphi.
Ежели кому интересно то на http://members.xoom.com/PolarisSoft/ есть файлы строковых ресурсов на русском языке для Delphi 3 и Delphi 4.
Q: Как во время компиляции модуля определить, под какой версией Delphi она происходит?
A: Используйте
{$IFDEF VERXXX}
. . .
{$ELSE}
. . .
{$ENDIF}
Пользуйтесь вот такой таблицей:
VER80 — Delphi 1
VER90 — Delphi 2
VER93 — C++Builder 1
VER100 — Delphi 3
VER110 — C++Builder 3
VER120 — Delphi 4