Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Проблема с назначением процедуры кнопке (Lazarus/WinCE) [Lazarus, WinCE]


Дмитрий Пырин ©   (2007-10-20 13:02:00) 

Пытаюсь писать под WinCE на KOL без использования MCK
вот такой комплект установлен:
Lazarus-0.9.23-fpc-2.2.0-20071019-win32.exe
fpc-2.2.0.arm-wince.exe
kolce_rev194
--------------------------
сделал вот такую основу:

program project1;
uses
 windows,
 messages,
 kol;
var
Form,b1: PControl;


procedure start ;
begin
 MessageBox(0,  'Hello Mobile World', '', MB_OK);
end;


begin
Form:=NewForm(Applet,'Hello World');
b1:=NewButton(form,'Show') ;
b1.OnClick:= TOnEvent(MakeMethod(nil,@start));
Run(Form);
end.


при попытке компиляции выдаёт ошибку:

project1.lpr(19,5) Error: Illegal qualifier
project1.lpr(19,5) Hint: may be pointer dereference is missing
project1.lpr(19,5) Error: Illegal expression
project1.lpr(19,5) Fatal: Syntax error, ";" expected but "identifier ONCLICK" found


подскажите пожалуйста, как правильно назначать действия элементам.


Дмитрий Пырин   (2007-10-20 21:37:00) [1]

Благодарю. разобрался.
я не знал про флаг совместимости с Дельфи в Лазарусе. Поставил его в опциях компилятора и всё нормально заработало


Yury Sidorov   (2007-10-20 21:08:00) [2]

Dummy нужен.
Но не забывайте включить режим совместимости с Delphi. Иначе нужно писать
b1^.OnClick
а не
b1.OnClick


Дмитрий К   (2007-10-20 19:51:00) [3]

Так, насколько я понял, Dummy не нужен.
т.е. procedure start(Sender: PObj);


Дмитрий К   (2007-10-20 19:41:00) [4]

примерно так:

program project1;
uses
 windows,
 messages,
 kol;

var
 Form, b1: PControl;

procedure start(Dummy, Sender: PObj);
begin
 MessageBox(0,  'Hello Mobile World', '', MB_OK);
end;

begin
 Form:=NewForm(nil,'Hello World');
 b1:=NewButton(Form,'Show') ;
 b1.OnClick:= TOnEvent(MakeMethod(nil,@start));
 Run(Form);
end.


Наверх

Титульная страница Поиск, карта сайта Написать письмо