IPB
ЛогинПароль:

> 

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

 
 Ответить  Открыть новую тему 
> Overload функций и процедур в Fpc
сообщение
Сообщение #1


Гуру
*****

Группа: Пользователи
Сообщений: 1 220
Пол: Мужской

Репутация: -  16  +


как реализовать?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






Читай:
Перегрузка операций, Компилятор FPC 2.0.x

Там же есть и про перегрузку функций blum.gif
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Гуру
*****

Группа: Пользователи
Сообщений: 1 220
Пол: Мужской

Репутация: -  16  +


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 как описать?

Сообщение отредактировано: Ozzя -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Гость






А обязательно перегружать здесь? По-моему, достаточно использовать параметр по умолчанию... Ну, если хочешь перегрузку - тогда:

{$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;
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Гуру
*****

Группа: Пользователи
Сообщений: 1 220
Пол: Мужской

Репутация: -  16  +


volvo
Спасибо. Сейчас отредактирую. Проверю.
Кстати, на само слово overload fpc не дает ошибки. Оно для чего-то используется?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Гость






smile.gif А если Дельфийскую программу надо откомпилировать?

Не забудь {$mode OBJFPC}, без него будет ошибка ...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Гуру
*****

Группа: Пользователи
Сообщений: 1 220
Пол: Мужской

Репутация: -  16  +


Прошло.
Ругается на

Код
var GrResult        : LongInt := grInvalidMode;


Присвоения переменной значения в разделе var в fpc не допускается?

А вообще насколько tmt и fpc совместимы? Такое впечатление, что игра не стоит свеч nea.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Гость






Ozzя,
Цитата
var GrResult : LongInt = grInvalidMode;



А присоедини-ка всю программу, посмотрим, можно ли перенести это на FPC, или действительно не стОит...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


Гуру
*****

Группа: Пользователи
Сообщений: 1 220
Пол: Мужской

Репутация: -  16  +


Ругается на edx
Цитата
GraphX.pas(1140,20) Error: Unknown identifier "EDX"

Код
procedure ClearBanked; assembler;
      asm
        cld
        mov     edx,[BankOffset]




Отправил на pm
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #10


Гость






У меня не ругается... Смотри в настройках Ассемблера (Options -> Compiler -> Assembler) ... Что-то там не так... Должно понимать.

(PM не получил)
 К началу страницы 
+ Ответить 
сообщение
Сообщение #11


Гуру
*****

Группа: Пользователи
Сообщений: 1 220
Пол: Мужской

Репутация: -  16  +


Да, стояло att style, поменял на intel

PM повторил

Отругало
Код
aphX.pas(7045,22) Fatal: illegal character "'&'" ($26)


Код
add     eax,[&Dx]



Заменил автоматом code на assembler.
Не заметил, что поменялось ErrorCode на Errorassembler lol.gif
Искал ошибку долго mega_chok.gif wub.gif yes2.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 2.05.2024 8:56
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name