Добавление метода экземпляра
я добавил класс через cls := fsScript1.AddClass(TGraph, 'TGraph');
потом добавил метод для одного экземплара класса Graph1 :
cls.AddMethod('function Val: string', Graph1.CallMethod);
потом добавил объект
fsScript1.AddObject('Graph1', Graph1);
после того как я добавил метод второго экземляра того же класса:
cls.AddMethod('function Val: string', Graph2.CallMethod);
fsScript1.AddObject('Graph2', Graph2);
вызов из скрипта метод Graph2.Val второго экземпляра не происходит вместо него вызывается Graph2.Val
как это можно объяснить?
или я что-то не так делаю?
потом добавил метод для одного экземплара класса Graph1 :
cls.AddMethod('function Val: string', Graph1.CallMethod);
потом добавил объект
fsScript1.AddObject('Graph1', Graph1);
после того как я добавил метод второго экземляра того же класса:
cls.AddMethod('function Val: string', Graph2.CallMethod);
fsScript1.AddObject('Graph2', Graph2);
вызов из скрипта метод Graph2.Val второго экземпляра не происходит вместо него вызывается Graph2.Val
как это можно объяснить?
или я что-то не так делаю?
Комментарии
все понял свою ошибку надо CallMethod объявлять в общем классе и использовать Instance для вызова метода нужного экземпляра.