Компиляция в ранних версиях Delphi

Октябрь 3, 2009 — Шарахов А.П.

Для программирования я использую Delphi 7. У меня нет возможности проверить все исходники с другими версиями Delphi. Скорее всего, в поздних версиях не потребуется изменений исходного кода, а в ранних версиях (обычно начиная с Delphi 4) изменения будут незначительными. Если вы любите программировать и немного знакомы с Delphi и BASM, то легко справитесь с этим, руководствуясь общими замечаниями.

В ранних версиях Delphi не существовало директив компилятора, управляющих генерацией предупреждений о небезопасном коде, например:

{$WARN UNSAFE_TYPE OFF}
{$WARN UNSAFE_CODE OFF}
{$WARN UNSAFE_CAST OFF}

Закомментируйте эти директивы, если они служат причиной сообщений об ошибках.

Ранние версии Delphi при использовании BASM требовали явного указания размера операндов, расположенных в оперативной памяти (в тексте программы такие операнды заключены в квадратные скобки). Поэтому в каждом операторе, для которого компилятор генерирует сообщение об ошибке ”Invalid combination of opcode and operands”, перед операндом, расположенным в оперативной памяти, явно укажите его размер, соответствующий размеру другого операнда. Т.е., например, вставьте перед ним:

  • byte ptr, если другой операнд равен al, bl, cl, dl, ah, bh, ch, dh,
  • word ptr, если другой операнд равен ax, bx, cx, dx, si, di, bp,
  • dword ptr, если другой операнд равен eax, ebx, ecx, edx, esi, edi, ebp, esp, или если другой операнд отсутствует.

на главную