|  | 
 
 | 
| 
			 
			#1  
			
			
			
			
		 | ||||
| 
 | ||||
|  Подмена класса http://decoding.narod.ru/practic/cla...stitution.html Какие плюсы и минусы есть у такого подхода? Например зареинтродьюсить некий метод можно? Последний раз редактировалось 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 у меня полностью свой модуль имеется. | 
| 
			 
			#4  
			
			
			
			
		 | ||||
| 
 | ||||
|   Цитата: 
  | 
| 
			 
			#5  
			
			
			
			
		 | ||||
| 
 | ||||
|   Ну вот, перегруженный конструктор зареинтродьюсить не получается. Приходится делать реинтродьюс на все конструкторы. | 
| 
			 
			#6  
			
			
			
			
		 | ||||
| 
 | ||||
|   И еще, как быть с потомками, например чтоб подменил общего дельфового предка и все дельфовые потомки от этого класса обращались к подмененному классу. Я так понимаю придется опять делать шаманство, получать адреса нужных ф-ий предкового класса, внутрь вписывать джамп. Может есть что-то проще? | 
| 
			 
			#7  
			
			
			
			
		 | ||||
| 
 | ||||
|   Ладно, пофиг, проще переопределить нужные классы и зареинтродьюсить на всех одно и то же. Спасибо всем, кто участвовал в дискуссии. |