В моих рамках у меня есть экземпляр DataSource1, который был сброшен во время разработки в форме.
В какой-то момент во время выполнения мне нужно «преобразовать» его в ссылку на другой DataSource2 (на модуле данных).Преобразование экземпляра объекта в ссылку другого экземпляра?
просто устанавливает:
DataSource1 := DataSource2;
Достаточно, чтобы сделать DataSource1 ссылку на DataSource2? похоже, что DataSource1 не уничтожается на данный момент - он уничтожается, когда Владелец DataSource2 уничтожен, и что на самом деле есть два экземпляра TDataSource.
Или мне нужно явно освободить DataSource1?
DataSource1.Free;
DataSource1 := DataSource2;
Каков правильный путь? (Помимо объявления DataSource1 как ссылки в первую очередь)
В первую очередь было бы полезно знать, какова цель этого. Вы делаете это, например? потому что у вас работает некоторый «базовый» набор данных, и после его работы вы заполняете свои данные путем «повторного подключения» источников данных таким образом? Если это так, то я предпочел бы повторно назначить набор данных источника данных. – TLama
@TLama, я вижу, что значит. вопрос не столько связан с дизайном БД. цель немного сложна для объяснения: у нас есть форма базового класса, которая предоставляет централизованный TDataSource своим базовым элементам управления, поддерживающим db. (по умолчанию он постоянный), но иногда он должен ссылаться на другой источник данных. Я знаю, что я могу установить/изменить DataSet в этом постоянном DataSource (и это правильный путь), но мне было просто любопытно понять этот пример. – ZigiZ