Разный Pascal

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

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

Ответить
Аватара пользователя
avi9526
новенький
Сообщения: 16
Зарегистрирован: 25.08.2010 17:10:26

Разный Pascal

Сообщение avi9526 »

Здравствуйте, продолжаю переделывать свои скромные наработки в Delphi для совместимости с Lazarus'ом
ну тут и загвоздка

Delphi

Код: Выделить всё

unit Unit1;

...

var
  Form1: TForm1;
  NE: TNotifyEvent;

implementation

...

procedure TForm1.Button1Click(Sender: TObject);
begin
Caption := IntToStr(Random(1000));
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
NE := Button1Click; // <<<<<<<<<<<<<<<<<< Здесь зарыта собака №1
if @NE <> nil  // <<<<<<<<<<<<<<<<<< Здесь зарыта собака №2
then
  NE(Self);
end;

...

end.


Lazarus (FPC)

Код: Выделить всё

unit Unit1; 

...

var
  Form1: TForm1;
  NE: TNotifyEvent;

implementation

...

procedure TForm1.Button1Click(Sender: TObject);
begin
Caption := IntToStr(Random(1000));
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
NE := @Button1Click; // <<<<<<<<<<<<<<<<<< Здесь зарыта собака №1
if NE <> nil  // <<<<<<<<<<<<<<<<<< Здесь зарыта собака №2
then
  NE(Self);
end;

...

end.


"Найдите 2 отличия". Можно както сделать так что бы код работал и в делфи и в лазарусе без переписывания?

Спасибо!

П,С. Очень большая просьба не писать что это разные продукты и нельзя их смешивать ))
скалогрыз
долгожитель
Сообщения: 1804
Зарегистрирован: 03.09.2008 02:36:48

Сообщение скалогрыз »

после "unit Unit1;"
напиши такую строчку:

Код: Выделить всё

{$ifdef FPC}{$mode Delphi}{$endif}


RTFM
Ответить