SQLRU.net
Разработка приложений баз данных

Начало » Программирование » Delphi » Ссылка на класс (Ссылка на класс)
Ссылка на класс [сообщение #6202] Fri, 08 August 2025 15:08 Переход к следующему сообщению
Keks в настоящее время не в онлайне  Keks
Сообщений: 7
Зарегистрирован: April 2024
Junior Member
Доброго времени суток всем

Есть два класса

A: TDataSet
В: TDataSet

У меня есть функция с объявлением

StartQuery( C: TDataSet )

с вызовами

StartQuery(A)
StartQuery(B)

там я работаю только чтением
(не чего не изменяя в классе)

Теперь возникла необходимость изменений   

Правильно ли будет поменять объявление на StartQuery( var C: TDataSet )


Второй вопрос

Объявляю класс

C: TDataSet

И пишу в зависимости от условий

if УСЛОВИЕ then С := A
else            C := B

Но нужна ссылка чтобы при изменении С изменились А или B

Как правильно?



Re: Ссылка на класс [сообщение #6205 является ответом на сообщение #6202] Fri, 08 August 2025 23:55 Переход к предыдущему сообщениюПереход к следующему сообщению
BlackEric в настоящее время не в онлайне  BlackEric
Сообщений: 392
Зарегистрирован: June 2022
Senior Member
StartQuery( var C: TDataSet ) - так можно

Но нужна ссылка чтобы при изменении С изменились А или B
Это лучше явно делать, иначе потом замучаетесь отлаживаться.
Re: Ссылка на класс [сообщение #6206 является ответом на сообщение #6202] Sun, 10 August 2025 07:05 Переход к предыдущему сообщениюПереход к следующему сообщению
MaratIsk в настоящее время не в онлайне  MaratIsk
Сообщений: 18
Зарегистрирован: July 2022
Junior Member
для начала научись отличать класс от объекта  Rolling Eyes
Re: Ссылка на класс [сообщение #6207 является ответом на сообщение #6206] Mon, 11 August 2025 02:06 Переход к предыдущему сообщению
DarkMaster в настоящее время не в онлайне  DarkMaster
Сообщений: 46
Зарегистрирован: August 2022
Member
Что-то не так в консерватории. Вот зачем в StartQuery() что-то изменять? Может нужно что-то вроде CreateQuery(Условие, ...., var C:TDataSet)?

P.S. Выкрутить то можно хоть с var, хоть через function GetDataSetOnXXXXX():TDataSet - кстати второе кажется как-то логичнее...

Предыдущая тема: Округление
Переход к форуму:
  


Текущее время: Tue Aug 12 00:11:03 GMT+3 2025

Общее время, затраченное на создание страницы: 0.01118 секунд