![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() У меня есть класс tMecan.
и соответственно есть var mecn5:tMecan; Он не визуальный. Чтобы выводить на форму какие то данные, создал визуальный компонент. Tmec = class(TImage) private ... protected { Protected declarations } ... public { Public declarations } fMec:tMecan; constructor Create(AOwner: TComponent); override; procedure CtrlShow(dat:integer); //Вывод картинки published { Published declarations } ... end; var mec:Tmec; На форму устанавливаю mec:Tmec; Дальше в FormCreate прописываю mec.fmec := mecn5; Вопрос. mec.fmec просто указывает на mecn5? Т.е. все действия с mecn5 должны изменять и свойства mec.fmec? У меня не все сходится. Теоретически нет ошибок? У меня получается что просто создается еще один экземпляр класса, с установленными на момент копирования свойствами. Изменение свойств mecn5, не приводит к изменениям этих же свойств mec.fmec. А хотелось именно этого. Последний раз редактировалось _Asph, 04.07.2007 в 13:34. |
#2
|
||||
|
||||
![]() Что-то не правду Вы говорите. Во вложении пример подобного использования. И он наглядно говорит об обратном.
|
#3
|
|||
|
|||
![]() Спасибо.
Проанализировал разницу в коде. У меня не были инициализированы объекты. Вставил mecn5:=tMecan.create; (Заодно поправил описание ![]() |