DelphiX для Delphi6:
То что написано синим
шрифтом это надо прописывать, а то
что белым это надо исправить на что
там написано.
Эта статья покажет вам, как переделать DelphiX под Delphi 6.0. Этот процесс займёт 15-20 минут.
Шаг 1:
После распаковки DelphiX в любую директорию, запустите Delphi6. Не пытайтесь запустить Install_for?.exe или другие виды установки.
Шаг 2:
Зайдите в File...Open: DelphiX_for5.dpk и Delphi 6 преобразует пакет для вас.
Сохраните пакет как DelphiX_for6.dpk.
Шаг 3:
Нажмите кнопку Install. Компилятор найдёт ошибки. Все они в файле DXRender.pas.
( То что сказано ниже это не
обязательно делать )
Вот фрагмент:
var
NilGUID : TGUID absolute 0;
: Надо изменить на :
var
NilGUID : TGUID;
Шаг 4:
Первый тип ошибок - несовпадение ординат в машинном коде. Где-то 40 - 50 Ошибок такого типа.
Вот как их исправить...
mov eax,Dest; add eax,TDXRMachine_Color.R+1 // Плохой сегмент
: изменить на :
mov eax,Dest; add eax,BYTE(TDXRMachine_Color.R+1) // Хороший сегмент
Вам это придётся делать при каждой ссылке ASM на TDXRMachine_Color. Вы можете заменять эти строки при помощи Search and Replace.
Шаг 5:
Второй тип ошибок нам придётся корректировать, они связаны с синтаксисом ассемблера. Есть 10 - 20 ошибок этого типа, и все они происходят рядом с _AddTable и _SubTable.
Вот пример как исправить их...
movzx edx,byte [offset _AddTable+edx+ebx]
: Изменить так :
movzx edx,byte [offset (_AddTable+edx+ebx)]
В конце компилятор покажет одно предупреждение и одну фатальную ошибку.
Шаг 6:
И последняя ошибка из-за DsgnIntf.
Есть два пути решения этой проблемы :
Без IDE редактирования:
Переделайте DXReg.pas следующим образом:
unit DXReg;
interface
uses
Windows, SysUtils, Classes, Forms, Dialogs, Graphics, TypInfo,
DXDraws, DXSounds, DIB, Wave, DXInput, DXPlay, DXSprite,
DXClass;
procedure Register;
implementation
const
SNone = '(None)';
SSettingImage = '&Image...';
SSettingWave = '&Wave...';
SDXGFileFilter = 'DXG file(*.dxg)|*.dxg|All files(*.*)|*.*';
SDXGOpenFileFilter = 'DXG file(*.dxg)|*.dxg|Bitmap file(*.bmp)| *.bmp|All files(*.*)|*.*';
SDXWFileFilter = 'DXW file(*.dxw)|*.dxg|All files(*.*)|*.*';
SDXWOpenFileFilter = 'DXW file(*.dxw)|*.dxw|Wave file(*.wav)| *.wav|All files(*.*)|*.*';
SSinglePlayer = '&Single player';
SMultiPlayer1 = 'Multi player &1';
SMultiPlayer2 = 'Multi player &2';
SOpen = '&Open...';
SSave = '&Save..';
procedure Register;
begin
RegisterComponents('DelphiX',
[TDXDraw,
TDXDIB,
TDXImageList,
TDX3D,
TDXSound,
TDXWave,
TDXWaveList,
TDXInput,
TDXPlay,
TDXSpriteEngine,
TDXTimer,
TDXPaintBox]);
end;
end.
С этим кодом вы не сможете использовать редакторы, которые идут вместе с DelphiX.
С редактированием IDE (Экспертам):
1) В DXReg.pas измените в USES 'DsgnIntf' на 'DesignIntf'.
2) Добавить 'DesignEditors' в uses и в unit где понравится.
3) Добавить 'DesignIDE' в НЕОХОДИМОМ разделе пакета.
Статью написал не Knight[Kd]
он её просто скачал с одного сайта.
|