Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 04.07.2007, 12:49
_Asph _Asph вне форума
Прохожий
 
Регистрация: 25.05.2007
Сообщения: 5
Репутация: 10
По умолчанию Взаимодействие классов

У меня есть класс 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  
Старый 05.07.2007, 05:48
Аватар для Aristarh Dark
Aristarh Dark Aristarh Dark вне форума
Модератор
 
Регистрация: 07.10.2005
Адрес: Москва
Сообщения: 2,907
Версия Delphi: Delphi XE
Репутация: выкл
По умолчанию

Что-то не правду Вы говорите. Во вложении пример подобного использования. И он наглядно говорит об обратном.
Вложения
Тип файла: zip ClassDemo.zip (6.4 Кбайт, 6 просмотров)
Ответить с цитированием
  #3  
Старый 05.07.2007, 09:47
_Asph _Asph вне форума
Прохожий
 
Регистрация: 25.05.2007
Сообщения: 5
Репутация: 10
По умолчанию

Спасибо.
Проанализировал разницу в коде.
У меня не были инициализированы объекты.
Вставил mecn5:=tMecan.create;
(Заодно поправил описание )
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 08:04.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025