|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
Динамическое изменение функции
Во время выполнения программы есть необходимость изменить саму функцию, т.е. практически переписать блок
function fun:type begin ... end; Использование параметров не подходит. Опишу точнее: есть несколько функций, считающих сложные математические функции. При выполнении программы меняются сами виды мат. функций и их параметры (вводятся почти вручную). 1.Есть ли возможность это реализовать относительно стандартными средствами Delphi? 2.Возможно ли функции с параметрами собрать красиво в массив? А то имеется очень перспективное место для их использования. |
#2
|
|||
|
|||
Дети учите ООП!!!
тебе нужно описать типы
ну если я тебя правильно понял... то потом можно подгружать функции из dll или других прог т.е. ложить в переменную ложить адрес на функцию... Код:
type ..... TMathFunc = function ([<массив параметров>]):type of object; .... далее описываешь класс с векторным свойством просто такого гемора как с массивами у тя не будет... все уже готово в классе TList ... хвала прогерамм Borland!!!! Код:
TListFunc = class(TList) protected procedure NewElem(index : integer; value : TMathFunc); function returnelem(index : integer):TMathFunc; public property Items[index : integer]: TMathFunc read NewElem write NewElem; default; дальше дело техники... обращаешься к свойству ... можно по значению свойства... без разницы... а функции грузишь простым присваиванием... и всё... |
#3
|
|||
|
|||
Благодарю!
Вариант подходит, буду реализовывать. Даже не вспомнил о TList - cработал стереотип, что TList только для компонентов, начал бороться с ним... |