|
|
#1
|
||||
|
||||
Подмена класса
http://decoding.narod.ru/practic/cla...stitution.html
Какие плюсы и минусы есть у такого подхода? Например зареинтродьюсить некий метод можно? — Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию Последний раз редактировалось M.A.D.M.A.N., 30.09.2012 в 21:44. |
#2
|
||||
|
||||
Цитата:
Поэтому я написал небольшой модуль который прописываю в uses модуля где лежит TListView (главное прописать после модуля ComCtrls ). И получается что хотя фактически в DesignTime лежит обыкновенный TListView, но в откомпилированной программе используется уже подменённый с которым я могу проделывать такие вещи: Код:
ListView1.Values[10, 5] := 'Колонка №10, Строка №5'; // Или так: ListView1.Items[5].Values[10] := 'Колонка №10, Строка №5'; |
#3
|
||||
|
||||
Цитата:
P.S. Так как мои проекты, это в основном API, то для ListView у меня полностью свой модуль имеется. Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |
#4
|
||||
|
||||
Цитата:
|
#5
|
||||
|
||||
Ну вот, перегруженный конструктор зареинтродьюсить не получается.
Приходится делать реинтродьюс на все конструкторы. — Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
#6
|
||||
|
||||
И еще, как быть с потомками, например чтоб подменил общего дельфового предка и все дельфовые потомки от этого класса обращались к подмененному классу.
Я так понимаю придется опять делать шаманство, получать адреса нужных ф-ий предкового класса, внутрь вписывать джамп. Может есть что-то проще? — Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
#7
|
||||
|
||||
Ладно, пофиг, проще переопределить нужные классы и зареинтродьюсить на всех одно и то же.
Спасибо всем, кто участвовал в дискуссии. — Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |