API Update+Base FASM Support

This commit is contained in:
2018-04-12 16:35:32 +03:00
parent 08d7761837
commit 0e25c2e70f
5 changed files with 138 additions and 80 deletions

View File

@@ -6,7 +6,7 @@ uses
System.TypInfo,System.Rtti;
const
CRTBCallTypeNil=ccReg;
CRTBCallTypeNil=ccStdCall;
CRTBCallTypeRegister=ccReg;
CRTBCallTypeStdCall=ccStdCall;
CRTBCallTypeCdecl=ccCdecl;
@@ -25,23 +25,24 @@ type
TRTBFunc=class abstract
public
function Call(Name:string;OutType:PTypeInfo;args:TArray<TValue>;CallType:TRTBCallType=CRTBCallTypeDefault):TValue;virtual;abstract;
function Call(OutType:PTypeInfo;args:TArray<TValue>;CallType:TRTBCallType=CRTBCallTypeDefault):TValue;virtual;abstract;
end;
TRTBVar=class abstract
protected
function SetVal(TValue);virtual;abstract;
procedure SetVal(Val:TValue);virtual;abstract;
function GetVal:TValue;virtual;abstract;
public
property Val:TValue read GetVal write SetVal;
end;
TRTBLib=class abstract
TRTBModule=class abstract
protected
function GetFuntion(Name:string):TRTBFunc;virtual;abstract;
function GetVar(Name:string):TRTBVar;virtual;abstract;
public
property Funtion[Name:string]:TRTBFunc read GetFuntion;
property &Var[Name:string]:TRTBVar read GetFuntion;
property &Var[Name:string]:TRTBVar read GetVar;
end;
TRTBSource=class abstract
@@ -71,11 +72,13 @@ type
procedure DelVariable(NameSpace:string;Name:string);virtual;abstract;
procedure &Register(NameSpace:string;Name:string;&Type:TRTBType);virtual;abstract;
procedure UnRegister(NameSpace:string;Name:string;&Type:TRTBType);virtual;abstract;
procedure &RegisterFunction(NameSpace:string;Name:string);virtual;abstract;
procedure UnRegisterFunction(NameSpace:string;Name:string);virtual;abstract;
function Compilate:TRTBLib;virtual;abstract;
procedure LoadFromFile(&File:string);
procedure SaveToFile(&File:string);
function Compilate:TRTBModule;virtual;abstract;
procedure LoadFromFile(&File:string);virtual;
procedure SaveToFile(&File:string);virtual;
property Text:string read GetText write SetText;
end;