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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> "Abstract error" при создании Dataset, Что я делаю не так? 
V
    Опции темы
Данкинг
Дата 23.8.2008, 20:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

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



Код

procedure TForm1.N3Click(Sender: TObject);
t:tdataset;
begin
t:=tdataset.Create(self);
t.FieldDefs.Add('name',ftString,100);
t.FieldDefs.Add('kolvo',ftString,100);
t.Active:=false;
t.Active:=true;
t.Free;
end;


На t.Active:=true вылезает ошибка "Abstract error". В чём проблема?

Это сообщение отредактировал(а) Данкинг - 23.8.2008, 20:46


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
ama_kid
Дата 23.8.2008, 22:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


АСУТП-кодер
***


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

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



Сразу бросаются в глаза фразы:
Цитата(Delphi Help)
DataSet contains abstract methods, and is not intended to be used in applications. Instead, applications instantiate dataset descendants such as TClientDataSet, TADODataSet, TTable, TQuery, TStoredProc, or TSQLDataSet.
Цитата(там же)
TDataSet introduces the basic properties, events, and methods for working with data. Many of these properties, events, and methods are abstract (Delphi) or pure virtual (C++) in TDataSet. Abstract or pure virtual declarations are declarations without implementations. At the TDataSet level they cannot be used or accessed. Developers must use or derive descendants of TDataSet that redeclare and implement these abstract or pure virtual methods. Many of the other TDataSet methods are declared and implemented in TDataSet as virtual methods, but the implementations are merely stubs that are reimplemented in descendants.
TDataSet has several descendants: TBDEDataSet, TCustomADODataSet, TIBCustomDataSet, TCustomSQLDataSet, and TCustomClientDataSet.
Воспользуйся наследниками, зачем TDataSet мучаешь? smile


--------------------
самурай без меча подобен самураю с мечом, но только без меча 
PM MAIL   Вверх
Данкинг
Дата 23.8.2008, 22:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

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



С TClientDataSet такой ошибки не возникает, но задачи не решает. А задача изначально такая (если такое возможно вообще): создать таблицу, не связанную ни с какой физической таблицей на диске, и с ней работать, как с обычным dataset. Это реально?  smile 


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
remax
Дата 24.8.2008, 00:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доцент
**


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

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



Это реально. Существует целая куча баз данных "в памяти" (например, dxMemData от DevExpres). Кроме того, всегда можно создать свой вариант (см., например, книгу Марко Кенту). 


--------------------
Как бы ты не старался быть хорошим и правильным человеком с принципами и уважительным отношением к другим, всегда найдется кто-то, кто бросит в тебя какашку
PM MAIL ICQ Skype   Вверх
Данкинг
Дата 24.8.2008, 00:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

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



Цитата(remax @  24.8.2008,  01:18 Найти цитируемый пост)
например, dxMemData от DevExpres

Дык, это компоненты устанавливать надо. В общем, думаю, создам для этого .mdb-файл, пусть валяется вместе с программой.  smile 


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Bose
Дата 26.8.2008, 15:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1458
Регистрация: 5.3.2005
Где: Riga, Latvia

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



Данкинг, tdataset - абстрактный класс, который сам не содержит кода для работы с данными. Его бессмысленно создавать напрямую. Только через наследников. 
PM MAIL WWW Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

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

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

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

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


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

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


 




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


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

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