Вопросы, связанные с конкретными версиями Delphi

altQ: Каким именно релизом 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

Понравилась статья? Поделиться с друзьями: