Implementacja zdarzenia OnMouseMove w komponencie tworzonym dynamicznie niestety nie powiodła się. W wierszu 46 kompilator zgłasza błędy (jak niżej w kodzie). Może ktoś wie w czym tkwi błąd :) ?
unit Unit2;
interface
{...}
var
Form2: TForm2;
DynamicImage :TImage;
procedure DynamicImageCreate;
procedure DynamicImageMouseMove(Sender: TObject; Shift: TShiftState; X,Y: Integer);
implementation
{$R *.dfm}
procedure DynamicImageMouseMove(Sender: TObject; Shift: TShiftState; X,Y: Integer);
begin
Form2.Caption:=IntToStr(X)+' '+InttoStr(Y);
end;
procedure DynamicImageCreate;
begin
if Assigned(DynamicImage) then
DynamicImage.Free();
DynamicImage:=TImage.Create(Form2);
With DynamicImage do
begin
// DynamicImage.Name:=DImage1;
Top:=0;
Left:=0;
Width:=400;
parent:=Form2;
Height:=600;
visible:=True;
DynamicImage.OnMouseMove:=
DynamicImageMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); //Linia 46
> //[DCC Error] Unit2.pas(46): E2003 Undeclared identifier: 'Sender'
> //[DCC Error] Unit2.pas(46): E2014 Statement expected, but expression of type 'class of TObject' found
> //[DCC Error] Unit2.pas(46): E2029 '(' expected but ';' found
end;
end;
end;
{...}
end.