TfsScript.Create - FItems.Duplicates := dupAccept;
Здесь же было посоветовано, для корректной работы с OLE обьектами установить такое
constructor TfsScript.Create(AOwner: TComponent);
begin
inherited;
FItems := TStringList.Create;
FItems.Sorted := True;
FLines := TStringList.Create;
FMacros := TStringList.Create;
FStatement := TfsStatement.Create(Self, '', '');
FSyntaxType := 'PascalScript';
FUnitLines := TStringList.Create;
Add('__StringHelper', TfsStringHelper.Create);
Add('__ArrayHelper', TfsArrayHelper.Create('__ArrayHelper', -1, fvtVariant, ''));
FItems.Duplicates := dupAccept;
Вот это добавить
end;
Возникают траблы на рекурсивных методах - как такое избежать
Invalid variant type
Вот здесь получается не соответствие обьектов (количество)
procedure RestoreLocalVariables(Item: TfsCustomVariable);
var
i: Integer;
begin
with TfsProcVariable(Item) do
for i := 0 to Prog.Count - 1 do
if (Prog.Items is TfsVariable) or (Prog.Items is TfsParamItem) then
Prog.Items.Value := Temp;
Temp := nil;
end;
constructor TfsScript.Create(AOwner: TComponent);
begin
inherited;
FItems := TStringList.Create;
FItems.Sorted := True;
FLines := TStringList.Create;
FMacros := TStringList.Create;
FStatement := TfsStatement.Create(Self, '', '');
FSyntaxType := 'PascalScript';
FUnitLines := TStringList.Create;
Add('__StringHelper', TfsStringHelper.Create);
Add('__ArrayHelper', TfsArrayHelper.Create('__ArrayHelper', -1, fvtVariant, ''));
FItems.Duplicates := dupAccept;
Вот это добавить
end;
Возникают траблы на рекурсивных методах - как такое избежать
Invalid variant type
Вот здесь получается не соответствие обьектов (количество)
procedure RestoreLocalVariables(Item: TfsCustomVariable);
var
i: Integer;
begin
with TfsProcVariable(Item) do
for i := 0 to Prog.Count - 1 do
if (Prog.Items is TfsVariable) or (Prog.Items is TfsParamItem) then
Prog.Items.Value := Temp;
Temp := nil;
end;