powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / ВС++
7 сообщений из 7, страница 1 из 1
ВС++
    #33394482
Геша
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как инициализировать в рантайме член класса , который есть на самом деле указатель на объект объявленный в другой форме ...в дизайнтайме все нормально работает ..
Чтото типа указателя на TADOConnection ....
...
Рейтинг: 0 / 0
ВС++
    #33394516
Карабас Барабас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проблема не раскрыта
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
ВС++
    #33394697
Геша
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Попробую раскрыть

class PACKAGE TComboBox1 : public TComboBox
{
private:
TADOQuery * Qdataset;
TADOConnection * __fastcall GetADOConn(){return Qdataset->Connection;}
void __fastcall SetADOConn(TADOConnection *con){Qdataset->Connection=con};

...тут всякая фигня для SQLзапрос..прочее .
protected:
public:
__fastcall TComboBox1(TComponent* Owner);
__published:
__property TADOConnection * Connection={ read=GetADOConn,
write=SetADOConn};

...тут всякая фигня для SQLзапрос прочее...

};

__fastcall TComboBox1::TComboBox1(TComponent* Owner):TComboBox(Owner){

Qdataset->Open(); тут ошибка .. не определен Connection
.. здесь всякая фигня чтобы забить в КомбоБокс значения из query ..
};

при инициализации в Конструкторе в рантайме ругается что Connection не определен .. и оно понятно .. так как сам коннекцион определен в другой форме , которая еще не создана ..
Вот собственно и вопрос .. как сделать чтобы к моменту вызова этого конструктора Connection был готовенький к использованию .. в дизайнвремя все нормально и работает ..
...
Рейтинг: 0 / 0
ВС++
    #33394741
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а какие здесь трудности - обычное ООП:
- создать класс TADOConnection (т.е. коннект)
- создать класс Query c коннектом от класса выше
Код: plaintext
Q := Q.Create(ADOConnection)
или

Код: plaintext
1.
2.
3.
TMyADOConnection = class (TADOConnection)
Private 

  Q : Query
в конструкторе TMyADOConnection инициализируешь сразу Q, а потом всем кому надо даёшь ссылку на ADOConnection. У меня этот класс вообще в отдельной dll-com.

______________________________________________
Вы имеете право хранить молчание! Всё что Вы скажете может быть использовано против Вас в суде!
...
Рейтинг: 0 / 0
ВС++
    #33394852
Карабас Барабас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Скорее всего у тебя формы не в том порядке создаются. А вобще, ADOConnection надо бы на датамодуль положить и создавать датамодуль первым, потом все к нему цепляться будут, уже к созданным классам
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
ВС++
    #33394990
SnowMan2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По моему перед:
Qdataset->Open();
Надо написать:
Qdataset->Connection=имя_формы_где_коннектион->ADOConnection1;
...
Рейтинг: 0 / 0
ВС++
    #33395293
Геша
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
да .. но где находится ADOConnection я задаю в дизайтайме ..
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / ВС++
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]