Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Для новичков > Объекты с одним предком


Автор: Aehn 4.7.2008, 14:18
Есть программа, в которой есть компоненты - наследники TSynMemo, но использующиеся дял отображения разных форматов файлов: CSS, XSL, HTML .... 
Все эти компоненты находятся на отдельных формах: fCSS, fXSL, fHTML
Соответствующие названия: datCSS:TSynMemo, datXSL:TSynMemo, datHTML:TSynMemo

Я написал форму для поиска и замены в тексте, который может содержать Memo компонента.

Код

var CssData: fCss; (* объявляем переменную, кот. будет ссылаться на объект формы *)


Код

(* Тело некоторой процедуры *)

 CssData := fСss(FindFormInstance(fCss));
 if  Assigned(CssData) then
 begin
    (* что-то делаем с CssData, например, что-то ищем из нашей формы *)
   CssData.datCSS.SearchReplace(EditFind.Text,'',[ssoWholeWord]);
 end;


И так для каждой компоненты для каждой области.

Вопрос: можно ли сделать всего одну форму, в которой можно использовать все объекты с одним предком?

Каким образом это можно осуществить?



Автор: Bose 9.7.2008, 14:13
Можно. 

Обращаться к форме не как типизированным формам fCSS, fXSL, fHTML, а как к обычной TForm. Далее искать на TForm перебором компонент класса TSynMemo. Далее обращаться к найденному компоненту как к TSynMemo и тупо вызывать метод SearchReplace.




Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)