-
Дмитрий Пырин (20.10.07 13:02) [0]Пытаюсь писать под 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
подскажите пожалуйста, как правильно назначать действия элементам. -
Дмитрий К © (20.10.07 19:41) [1]примерно так:
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. -
Дмитрий К © (20.10.07 19:51) [2]Так, насколько я понял, Dummy не нужен.
т.е.procedure start(Sender: PObj); -
Yury Sidorov (20.10.07 21:08) [3]Dummy нужен.
Но не забывайте включить режим совместимости с Delphi. Иначе нужно писать
b1^.OnClick
а не
b1.OnClick -
Дмитрий Пырин (20.10.07 21:37) [4]Благодарю. разобрался.
я не знал про флаг совместимости с Дельфи в Лазарусе. Поставил его в опциях компилятора и всё нормально заработало