Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Указатель на объект.. передать в функцию... 
:(
    Опции темы
seer
Дата 29.4.2006, 17:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 25.4.2006

Репутация: нет
Всего: нет



Где-то в исходнике жил был клас TForm1, с ним также проживала сожительница процедуркина, которая была очень жадной и все заносила в свой объект-блокнотик - БД.
Где-то в этом же исходнике жил был класс FormCorr, и он прослышал про этот замечательный блокнотик БД , и захотел в него чего-нибудь пописать, почитать ну и в общем поковыряться с ним. Но тетя указатель на БД не захотела ему в этом помочь.
Помогите разобраться с тетей-указателем!

Код

procedure TForm1.NAddKorrClick(Sender: TObject);
var
    FormCorr: TFormCorr;
begin
    Application.CreateForm(TFormCorr, FormCorr); //Окошко
    FormCorr.PADOQuery := Pointer(ADOQuery1);
    FormCorr.Show;
end;
...

type
  TFormCorr = class(TForm)
...
  public
    PADOQuery: ^TADOQuery;
...
end;

procedure TFormCorr.SpeedButtonAddClick(Sender: TObject);
var
  strAdd: AnsiString;
begin
  PADOQuery^.SQL.Clear; //Тута тетя очень сильно ругается!!!
//  PADOQuery^.SQL.Add('SELECT COUNT(*) FROM TableName');
//  PADOQuery^.ExecSQL;
  

Это сообщение отредактировал(а) seer - 29.4.2006, 17:33
PM MAIL   Вверх
Демо
Дата 29.4.2006, 17:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1278
Регистрация: 3.11.2005

Репутация: 30
Всего: 50



ADOQuery и так ссылка на объект:

Код

procedure TForm1.NAddKorrClick(Sender: TObject);    
var    
    FormCorr: TFormCorr;    
begin    
    Application.CreateForm(TFormCorr, FormCorr); //Окошко    
    FormCorr.ADOQuery := ADOQuery1;    
    FormCorr.Show;    
end;    
...    
type    
  TFormCorr = class(TForm)    
...    
  public    
    ADOQuery: TADOQuery;    
...    
end;    

procedure TFormCorr.SpeedButtonAddClick(Sender: TObject);    
var    
  strAdd: AnsiString;    
begin    
  ADOQuery.SQL.Clear;
 


--------------------
    
PM MAIL ICQ Skype   Вверх
seer
Дата 29.4.2006, 18:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 25.4.2006

Репутация: нет
Всего: нет



unit ADODB
{ TADOQuery }

  TADOQuery = class(TCustomADODataSet) //указатель?
  private
    FSQL: TStrings; 
PM MAIL   Вверх
Демо
Дата 29.4.2006, 18:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1278
Регистрация: 3.11.2005

Репутация: 30
Всего: 50



Цитата(seer @  29.4.2006,  18:11 Найти цитируемый пост)
//указатель?


Да. 

Вернее ссылка.

Добавлено @ 18:14 
Причем, если необходимо, ты можешь привести ссылку к Pointer, а затем обратно. 

Это сообщение отредактировал(а) Демо - 29.4.2006, 18:13


--------------------
    
PM MAIL ICQ Skype   Вверх
seer
Дата 29.4.2006, 18:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 25.4.2006

Репутация: нет
Всего: нет



Цитата(Демо @  29.4.2006,  18:11 Найти цитируемый пост)
Причем, если необходимо, ты можешь привести ссылку к Pointer, а затем обратно. 

так я так и сделал... не работало...:/
Чем указатель от ссылки отличается? 
PM MAIL   Вверх
Vit
Дата 30.4.2006, 03:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

Репутация: 48
Всего: 207



Код

  public
    PADOQuery: ^TADOQuery;
...


Указатель на указатель? Оригинально... что-то в этом коде совсем не так... Скорее всего так вообще быть не должно. А как должно? А х.з. не ясно что вообще надо получить... Во всяком случае постановка задачи мне не ясна, как и не может быть ясна ни одному программисту:


Цитата(seer @  29.4.2006,  08:30 Найти цитируемый пост)
с ним также проживала сожительница процедуркина, которая была очень жадной и все заносила в свой объект-блокнотик - БД.


Я в этой фразе понял только предлоги:

"с ним также проживала" - это как находилась в одном модуле? Или была методом класса? Или методом предка/потомка? Или классовым методом?

 "процедуркина" - имеется ввиду метод? Процедура? Процедурная переменная?

"которая была очень жадной " - первый раз такое понятие в программировании слышу за 20 лет работы...

" все заносила в свой объект-блокнотик" - чтио значит свой? Блокнот был объектом процедуры? Это бред! Объект может иметь владельца какой-то другой объект или родителя другой объект, процедурная переменная типа блокнот может быть локально объявлена в процедуре или быть полем другого объекта, но никак не бывает чтобы владелец блокнота была процедура. Теоретически конечно можно взять ссылку на процедуру преобразовать её к типу TComponent и засандалить в хозяина блокнота, но это имхо - бред полный!

Извольте выражаться понятно чтоб можно было хоть что-то понять.  


--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
Yanis
Дата 30.4.2006, 08:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2937
Регистрация: 9.2.2004
Где: Москва

Репутация: 72
Всего: 111



Цитата(Vit @  30.4.2006,  03:47 Найти цитируемый пост)
"которая была очень жадной " - первый раз такое понятие в программировании слышу за 20 лет работы...

Если уж говорить о термине "жадный" в программировании, то извещаю вас о существовании "жадных" алгоритмов, которые я например проходил на 1 курсе своего обучения. 


--------------------
user posted image *щёлк*
PM MAIL WWW ICQ   Вверх
Quadr0
Дата 30.4.2006, 11:42 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











...

Это сообщение отредактировал(а) Quadr0 - 15.7.2011, 11:06
  Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1300 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.