![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
![]() Подскажите пожалуйста как передать в стороннюю функцию
текущую (выделенную) запись из TDataSet. И желательно её ещё где-нибудь в пространстве имён сохранить, чтоб к ней был доступ из любой другой функции (формы) |
#2
|
||||
|
||||
![]() создай динамический (статический тоже подойдет, но будет не универсально) вариантный массив и сохрани в нем значения полей текущей записи датасета
Пишу программы за еду. __________________ |
#3
|
||||
|
||||
![]() Цитата:
А где "грамотно" его объявить? Допустим мне эту запись нужно передать на другую форму. До этого я всегда делал так: Код:
with TFormNew.Create(Application) do try Execute(aDataSet); finally free; end; А внутри самого Execute во второй форме принимал этот DataSet Код:
dsIDataset.DataSet := aDataSet; Result := ShowModal = mrOK; и дальше уже чё хотел, то и делал. С заделом на будущее (к вопросу об универсальности) , может класс нарисовать для подобного рода "хранилища" данных? Мало ли чего ещё понадобится хранить. Но опять же возникает вопрос где создавать\объявлять экземпляр этого класса? Последний раз редактировалось Uniq!, 25.08.2014 в 21:07. |
#4
|
||||
|
||||
![]() А зачем это нужно? Если ты проектируешь внутренний API приложения, его соглашением может быть отсутствие движения по DataSet-у. Тогда можно передавать DataSet.
Если же нужно передать какие-то данные как ключ, у DataSet-а есть свойство FieldValues. ЕМНИП, ему передается список полей через точку с запятой, а он возвращает вариантный массив со значениями. Эта пара (набор ключей) = (набор значений) используется в API самого DataSet-а, где нужно передать абстрактный набор данных. Не стоит путать форумы с богадельнями. © Bargest |
#5
|
||||
|
||||
![]() Цитата:
Цитата:
![]() Пишу программы за еду. __________________ |