API Update:Add CallBack

This commit is contained in:
artem3213212 committed 2018-05-09 11:07:55 +03:00
1 parent 88cfa48d24
commit b4da0b0b7a
4 files changed
+22 -15

No files matched your search

+13 -2
View File
@@ -62,8 +62,8 @@ type
procedure AddNameSpace(Name:string);override;
procedure DelNameSpace(Name:string);override;
procedure AddType(NameSpace:string;Name:string;&Type:TRTBType);override;
procedure DelType(NameSpace:string;Name:string);override;
procedure AddType(NameSpace:string;Name:string;&Type:TRTBType);override;//-
procedure DelType(NameSpace:string;Name:string);override;//-
procedure AddConst(NameSpace:string;Name:string;Val:TValue);override;
procedure DelConst(NameSpace:string;Name:string);override;
@@ -72,6 +72,9 @@ type
procedure ExportVariable(NameSpace:string;Name:string;var Data);override;
procedure DelVariable(NameSpace:string;Name:string);override;
procedure AddCallBack(NameSpace:string;Name:string;CallBack:TRTBCallBack);override;//-
procedure DelCallBack(NameSpace:string;Name:string);override;//-
procedure &Register(NameSpace:string;Name:string;&Type:TRTBType);override;
procedure UnRegister(NameSpace:string;Name:string);override;
procedure RegisterFunction(NameSpace:string;Name:string);override;
@@ -298,6 +301,14 @@ begin
DelConst(NameSpace,Name);
end;
procedure TRTBFasmCompiler.TRTBFasmSource.AddCallBack(NameSpace:string;Name:string;CallBack:TRTBCallBack);
begin
end;
procedure TRTBFasmCompiler.TRTBFasmSource.DelCallBack(NameSpace:string;Name:string);
begin
end;
procedure TRTBFasmCompiler.TRTBFasmSource.&Register(NameSpace:string;Name:string;&Type:TRTBType);
begin
if NameSpace<>'' then
+2 -12
View File
@@ -17,7 +17,7 @@ type
private
//p:Pointer;
public
//constructor Create(p:Pointer);
constructor Create(s:string);
//function Call(OutType:PTypeInfo;args:TArray<TValue>;CallType:TRTBCallType=CRTBCallTypeDefault):TValue;override;
//destructor Destroy;override;
end;
@@ -597,19 +597,9 @@ function TRTBLuaCompiler.TRTBLuaSource.Compilate:TRTBModule;
var
templib,PreDecl:string;
i,sb:NativeUInt;
FuncDict:TDictionary<string,NativeUInt>;
RegVarDict:TDictionary<string,TPair<NativeUInt,PTypeInfo>>;
p:pointer;
begin
//FuncDict:=TDictionary<string,NativeUInt>.Create();
with funcs do
if Count<>0 then
for i:=0 to Count-1 do
begin
PreDecl:=PreDecl+Strings[i]+sLineBreak;
FuncDict.Add(Strings[i],base);
inc(base,SizeOf(pointer));
end;
{RegVarDict:=TDictionary<string,TPair<NativeUInt,PTypeInfo>>.Create();
with regvars do
if Count<>0 then
@@ -625,7 +615,7 @@ with consts do
with Items[i] do
ConstParse(Key,Value,PreDecl,base);}
//Result:=TRTBFasmModule.Create(p,Res.sb,FuncDict,RegVarDict);
Result:=TRTBLuaModule.Create(FText,funcs);
end;
destructor TRTBLuaCompiler.TRTBLuaSource.Destroy;
+6
View File
@@ -28,6 +28,9 @@ type
function Call(OutType:PTypeInfo;args:TArray<TValue>;CallType:TRTBCallType=CRTBCallTypeDefault):TValue;virtual;abstract;
end;
TRTBCallBackOut=TValue;
TRTBCallBack=reference to function(arg:array of const):TRTBCallBackOut;
TRTBVar=class abstract
protected
procedure SetVal(Val:TValue);virtual;abstract;
@@ -69,6 +72,9 @@ type
procedure ExportVariable(NameSpace:string;Name:string;var Data);virtual;abstract;//äîáàâëÿåò ïåðåìåííóþ,ñèíõõðîíèçèðîâàííóþ ñ Data
procedure DelVariable(NameSpace:string;Name:string);virtual;abstract;
procedure AddCallBack(NameSpace:string;Name:string;CallBack:TRTBCallBack);virtual;abstract;//äîáàâëÿåò ôóíêöèþ/ïðîöåäóðó/ìåòîä
procedure DelCallBack(NameSpace:string;Name:string);virtual;abstract;
procedure &Register(NameSpace:string;Name:string;&Type:TRTBType);virtual;abstract;//ðåãèñòðèðóåò ïåðåìåííóþ îáúÿâëåííóþ â ñêðèïòå
procedure UnRegister(NameSpace:string;Name:string);virtual;abstract;
procedure &RegisterFunction(NameSpace:string;Name:string);virtual;abstract;//ðåãèñòðèðóåò ôóíêöèþ îáúÿâëåííóþ â ñêðèïòå