|
@@ -4799,15 +4799,21 @@ begin
|
|
|
Add([
|
|
|
'type',
|
|
|
' TProc = reference to procedure;',
|
|
|
+ ' TEvent = procedure of object;',
|
|
|
' TObject = class',
|
|
|
' Size: word;',
|
|
|
' function GetIt: TProc;',
|
|
|
+ ' procedure DoIt; virtual; abstract;',
|
|
|
' end;',
|
|
|
'function TObject.GetIt: TProc;',
|
|
|
'begin',
|
|
|
' Result:=procedure',
|
|
|
+ ' var p: TEvent;',
|
|
|
' begin',
|
|
|
' Size:=Size;',
|
|
|
+ ' Size:=Self.Size;',
|
|
|
+ ' p:=@DoIt;',
|
|
|
+ ' p:[email protected];',
|
|
|
' end;',
|
|
|
'end;',
|
|
|
'begin']);
|
|
@@ -4824,7 +4830,11 @@ begin
|
|
|
' var $Self = this;',
|
|
|
' var Result = null;',
|
|
|
' Result = function () {',
|
|
|
+ ' var p = null;',
|
|
|
+ ' $Self.Size = $Self.Size;',
|
|
|
' $Self.Size = $Self.Size;',
|
|
|
+ ' p = rtl.createCallback($Self, "DoIt");',
|
|
|
+ ' p = rtl.createCallback($Self, "DoIt");',
|
|
|
' };',
|
|
|
' return Result;',
|
|
|
' };',
|