Set EventMethode in Script

Hello,

is there a way to use Events in a script? It was fired once at start but wen the Class should do.

Delphi:
type
TmgmGefallKopierenModel = class;

TmgmGfKopierNotifyEvent = procedure(Sender: TmgmGefallKopierenModel) of object;

TmgmGefallKopierenModel = class(TComponent)
private
FOnAfterCopyPosition: TmgmGfKopierNotifyEvent;
protected
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
procedure DoSomething;
published
property OnAfterCopyPosition: TmgmGfKopierNotifyEvent read FOnAfterCopyPosition write FOnAfterCopyPosition;
end;

Script:
procedure OnAfterGfCopyPositionX(Sender: TmgmGefallKopierenModel);
begin
ShowMessage('OnAfterGfCopyPositionX: ' );
end;

procedure UDO_Button_Click;
var
LoGfKopieren: TmgmGefallKopierenModel;
begin
LoGfKopieren := TmgmGefallKopierenModel.Create(CallForm);
LoGfKopieren.OnAfterCopyPosition := OnAfterGfCopyPositionX(LoGfKopieren);//-> The Event ist called;
LoGfKopieren.DoSomething; // here the Event isn't called.

Yes, you can use events but:

  1. Events in scripter are set using the method name as string. For example:
LoGfKopieren.OnAfterCopyPosition := 'OnAfterGfCopyPositionX';
  1. You have to register the event type in advance so scripter know about it.

Some examples:


Hi, it works great.

Have a nice Day.

1 Like

This topic was automatically closed 60 minutes after the last reply. New replies are no longer allowed.