Добавление метода экземпляра

отредактировано 08:36 Раздел: FastScript
я добавил класс через 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
как это можно объяснить?
или я что-то не так делаю?

Комментарии

  • отредактировано 08:36
    bas01 написал: »
    я добавил класс через 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
    как это можно объяснить?
    или я что-то не так делаю?

    все понял свою ошибку надо CallMethod объявлять в общем классе и использовать Instance для вызова метода нужного экземпляра.

Оставить комментарий

Многофункциональный текстовый редактор. Чтобы отредактировать стиль параграфа, нажмите TAB, чтобы перейти к меню абзаца. Там вы можете выбрать стиль. По умолчанию не выбран ни один стиль. Когда вы выберете текст, появится встроенное меню форматирования. Нажмите TAB, чтобы войти в него. Некоторые элементы, такие как многофункциональные вставки ссылок, картинок, индикаторов загрузки и сообщений об ошибок могут быть вставлены в редактор. Вы можете перемещаться по ним, используя стрелки внутри редактора и удалять с помощью клавиш delete или backspace.