Автор: volvo 16.03.2006 16:43
Читай:
http://forum.pascal.net.ru/index.php?showtopic=8713
Там же есть и про перегрузку функций
Автор: Ozzя 16.03.2006 17:17
TMT 4 pascal
Код
interface
...
procedure PutPixelA(X,Y: LongInt);
overload PutPixel = PutPixelA;
procedure PutPixelB(X,Y: LongInt; Color: DWord);
overload PutPixel = PutPixelB;
...
implementation
...
При переходе на fpc
В секции implementation понятно, описываю как:
Код
operator PutPixel(X,Y: LongInt);
...
operator PutPixel(X,Y: LongInt; Color: DWord);
...
А в секции interface как описать?
Автор: volvo 16.03.2006 17:20
А обязательно перегружать здесь? По-моему, достаточно использовать параметр по умолчанию... Ну, если хочешь перегрузку - тогда:
{$mode OBJFPC}
interface
...
procedure PutPixel(X,Y: LongInt);
procedure PutPixel(X,Y: LongInt; Color: DWord);
...
implementation
...
procedure PutPixel(X,Y: LongInt);
begin ... end;
procedure PutPixel(X,Y: LongInt; Color: DWord);
begin ... end;
Автор: Ozzя 16.03.2006 17:23
volvo
Спасибо. Сейчас отредактирую. Проверю.
Кстати, на само слово overload fpc не дает ошибки. Оно для чего-то используется?
Автор: volvo 16.03.2006 17:25
А если Дельфийскую программу надо откомпилировать?
Не забудь {$mode OBJFPC}, без него будет ошибка ...
Автор: Ozzя 16.03.2006 17:28
Прошло.
Ругается на
Код
var GrResult : LongInt := grInvalidMode;
Присвоения переменной значения в разделе var в fpc не допускается?
А вообще насколько tmt и fpc совместимы? Такое впечатление, что игра не стоит свеч
Автор: volvo 16.03.2006 17:50
Ozzя,
Цитата
var GrResult : LongInt = grInvalidMode;
А присоедини-ка всю программу, посмотрим, можно ли перенести это на FPC, или действительно не стОит...
Автор: Ozzя 16.03.2006 17:59
Ругается на edx
Цитата
GraphX.pas(1140,20) Error: Unknown identifier "EDX"
Код
procedure ClearBanked; assembler;
asm
cld
mov edx,[BankOffset]
Отправил на pm
Автор: volvo 16.03.2006 18:00
У меня не ругается... Смотри в настройках Ассемблера (Options -> Compiler -> Assembler) ... Что-то там не так... Должно понимать.
(PM не получил)
Автор: Ozzя 16.03.2006 18:18
Да, стояло att style, поменял на intel
PM повторил
Отругало
Код
aphX.pas(7045,22) Fatal: illegal character "'&'" ($26)
Код
add eax,[&Dx]
Заменил автоматом code на assembler.
Не заметил, что поменялось ErrorCode на Errorassembler
Искал ошибку долго