Не получается скомпилировать Graphics32

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Не получается скомпилировать Graphics32

Сообщение pojmi-igraja » 04.05.2011 17:32:09

Пытаюсь установить компонент Graphics32.
Инструкция к нему:
Installation procedure for Lazarus:
Unzip the files;
Select Package | Open Package File... on the menu bar. Set Files of type to Lazarus package (*.lpk), locate and open GR32_DSGN_L.dpk
A package editor window will appear. Click Compile, then click Install;
Lazarus will ask to compile itself in order to make use of the library. Choose Yes to be able to use the library from the IDE. It will take several minutes until the IDE is compiled completely.
After an automatic restart you are able to use GR32 in Lazarus

При компиляции куска
Код: Выделить всё
procedure RoundShift1(var DstPoint: TFixedPoint; const SrcPoint: TFixedPoint; const T: TTransformation); {$IFNDEF TARGET_x86}{$IFDEF INLININGSUPPORTED} inline; {$ENDIF}{$ENDIF}
{$IFNDEF TARGET_x86}
begin
  DstPoint.X := (SrcPoint.X + $7F) div 256;
  DstPoint.Y := (SrcPoint.Y + $7FFF) div 65536;
{$ELSE}
asm
    MOV ECX, [SrcPoint.X]
    ADD ECX, $0000007F
    SAR ECX, 8 // sub-sampled
    MOV [DstPoint.X], ECX
    MOV EDX, [SrcPoint.Y]
    ADD EDX, $00007FFF
    SAR EDX, 16
    MOV [DstPoint.Y], EDX
{$ENDIF}
end;

на строке
Код: Выделить всё
MOV ECX, [SrcPoint.X]

пишет:
D:\!!!_SOFT\win free\Lasarus\graphics32-1-9-0-r1336\GR32_Polygons.pas(699,25) Error: Unknown identifier "X"
ну и аналогично:
везде, где есть .Х или .Y
пишет тоже самое

Где надо что подправить в настройках, чтобы нормально откомпилировалось???
Lasarus 0.9.30
Аватара пользователя
pojmi-igraja
незнакомец
 
Сообщения: 1
Зарегистрирован: 04.05.2011 17:06:34
Откуда: г.Волгоград

Re: Не получается скомпилировать Graphics32

Сообщение HIGH-Zen » 22.05.2011 16:41:23

Та же проблема, может кто-нибудь уже решил? Оч. нужна помощ.
В соурцефорге тоже жалуютса
http://sourceforge.net/tracker/?func=detail&aid=3025795&group_id=112985&atid=663797
HIGH-Zen
незнакомец
 
Сообщения: 4
Зарегистрирован: 22.05.2011 16:22:53

Re: Не получается скомпилировать Graphics32

Сообщение HIGH-Zen » 27.09.2011 16:33:53

Ясен пень, нужно немного поправить вот так:
Код: Выделить всё
procedure RoundShift1(var DstPoint: TFixedPoint; const SrcPoint: TFixedPoint; const T: TTransformation); {$IFNDEF TARGET_x86}{$IFDEF INLININGSUPPORTED} inline; {$ENDIF}{$ENDIF}
{$IFNDEF TARGET_x86}
begin
  DstPoint.X := (SrcPoint.X + $7F) div 256;
  DstPoint.Y := (SrcPoint.Y + $7FFF) div 65536;
{$ELSE}
asm
    MOV ECX, TFixedPoint[SrcPoint].X     //MOV ECX, [SrcPoint.X]
    ADD ECX, $0000007F
    SAR ECX, 8 // sub-sampled
    MOV TFixedPoint[DstPoint].X, ECX
    MOV EDX, TFixedPoint[SrcPoint].Y
    ADD EDX, $00007FFF
    SAR EDX, 16
    MOV TFixedPoint[DstPoint].Y, EDX
{$ENDIF}
end;


на строке

Код: Выделить всё
MOV ECX, [SrcPoint.X]

должно быть так
Код: Выделить всё
MOV ECX, TFixedPoint[SrcPoint].X

и так в каждом месте где асм.
HIGH-Zen
незнакомец
 
Сообщения: 4
Зарегистрирован: 22.05.2011 16:22:53


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 257

Рейтинг@Mail.ru