Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.12.18;
Скачать: CL | DM;

Вниз

создание указателя на объект   Найти похожие ветки 

 
s77   (2005-12-01 14:50) [0]

procedure
var
   AdoQ: TADOQuery;
begin
  // AdoQ:=TADOQuery.Create(Self);
   if PageControl1.Pages[0].Visible then AdoQ:=ADOQuery1 else AdoQ:=ADOQuery2;
   
 работа с AdoQ

   AdoQ.free;
end;

последняя строка убивает ADOQuery1  или ADOQuery2 Нужна ли она
правильно ли я делаю.


 
Ega23 ©   (2005-12-01 14:52) [1]


> последняя строка убивает ADOQuery1  или ADOQuery2 Нужна
> ли она
> правильно ли я делаю.


Не нужна. Если, конечно, ты не хочешь, чтобы ADOQuery1  или ADOQuery2 убились нафиг.


 
s77   (2005-12-01 14:57) [2]

AdoQ  - что это такое получилось объект который скопировал ADOQuery1 или псевдоним
что станет с adoQ после выхода из процедуры - освободится ли память (create его я не делаю)


 
Ega23 ©   (2005-12-01 15:34) [3]


> AdoQ  - что это такое получилось объект который скопировал
> ADOQuery1 или псевдоним
> что станет с adoQ после выхода из процедуры - освободится
> ли память (create его я не делаю)


Нет. AdoQ - это указатель на объект типа TADOQuery. Когда ты ему ставишь
if PageControl1.Pages[0].Visible then AdoQ:=ADOQuery1 else AdoQ:=ADOQuery2;
то всего лишь получаешь указатель на объект либо ADOQuery1, либо ADOQuery2.
Т.е. получаешь адрес нужного тебе объекта.


 
s77   (2005-12-01 15:39) [4]

спасибо


 
Anatoly Podgoretsky ©   (2005-12-01 15:53) [5]

Приведеный код правильный, а если раскомментируешь строку, то будет неправильно.



Страницы: 1 вся ветка

Текущий архив: 2005.12.18;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.055 c
14-1133078119
ArtemESC
2005-11-27 10:55
2005.12.18
Обработчик прерываний


2-1133360990
integery
2005-11-30 17:29
2005.12.18
помогите з запросом


2-1133250688
Vis74
2005-11-29 10:51
2005.12.18
Как при запуске программы определить версию ОС и если...


14-1133126705
ПЕС
2005-11-28 00:25
2005.12.18
Подскажите компонент


2-1133264260
Sysanin
2005-11-29 14:37
2005.12.18
реестр