Du brauchst nicht mal den ParseTree, nur ein Plugin:
Delphi-Quellcode:
TStringGridVariableProvider = class(THAMPlugin)
private
fGrid: TStringGrid;
public
constructor Create(stringgrid: TStringGrid);
function GetVariable(Name: string; Index: Integer; GetMethod: THAMGetMethod;
out MetaResult: THAMVariable): Boolean; override;
end;
constructor TStringGridVariableProvider.Create(stringgrid: TStringGrid);
begin
inherited;
fGrid := stringgrid;
end;
function TStringGridVariableProvider.GetVariable(Name: string; Index: Integer; GetMethod: THAMGetMethod;
out MetaResult: THAMVariable): Boolean;
begin
if(GetMethod = gmByName) then
begin
MetaResult := THAMVariable.Create;
MetaResult.Parse(fGrid.Cells[{aus Name die Indizes berechnen}]);
Result := false;
end;
end;
Das dürfte schon ausreichen, um ein Stringgrid einzubinden.
Allerdings musst du mit den erstellen Variablen aufpassen, ich weiß nicht mehr, ob die überhaupt freigegeben werden..