Показать сообщение отдельно
  #6  
Старый 02.11.2010, 21:50
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,096
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Не совсем так.
Ты не можешь править exe в тот момент, когда он уже запущен. Область кода блокированна для изменений. Однако, можно хитрым способом записать в память некоторые данные, объявить этот блок как код и передать туда указатель на выполнение.

Другое дело, что обычно такие фокусы редко когда нужны. Данная проблема имеет другое, более простое решение. точнее два.
Первое - использовать dll. Правда тут ты ограничен тем набором, котрый у тебя реализован в dll.
второй - использовать встраиваемый интерпретатор (да того же паскаля или JSript). в этом случае тебе просто надо где-то хранить код соотв функций в вызывать его через этот интерпретатор.
Ответить с цитированием