169 похожих чатов

Есть эксперты по TDataSet? Хочу написать наследника, а там как-то

сложно с получением значения поля. Я думал, оно на базе Variant, а там какой-то треш с указателями на буфера с непонятно чем. То есть для каждой строки таблицы надо выделять буфер и в него копировать значения полей в Native формате, ну то есть System.Move(Value, Buffer, SizeOf(Value))? Плюс отдельные приседания для строк, массивов и блобов? Может есть какой-то мануал на эту тему?

9 ответов

14 просмотров

Была серия статей какой-то англичанки, но с ней как водится ращосрались, и она снесла. В общем, смотри как сделано в tdbf, vdbf и так далее И разумеется там не сделано через вариант, с фига ли? Какой например вариант в формате dbf, который был раньше, чем visual basic?

Sergey-Bodrov Автор вопроса
Arioch The
Была серия статей какой-то англичанки, но с ней ка...

Там вообще все сложно и через жопу. Видимо, так исторически сложилось еще в турбопаскале, и вместо того, чтобы сделать простого предка в стиле TStrings, навалили контента сверху в виде династий TField и TFieldDef и еще тонны всякого.

Sergey Bodrov
Там вообще все сложно и через жопу. Видимо, так ис...

Ну в общем-то да, делали обертку поверх BDE. А уж потом туда начали всего подряд всовывать, и SQL проиивоестественно впизнули, и все остальное. Что выросло, то выросло.

Было время, разбирался. Ощущения были отвратительные. Это монстр, состоящий из кучи костылей, которые кое как волшебным образом заставили работать. Ничего не понятно. Дни напролет сидел под отладчиком. Нужно сразу схемы рисовать, как только становится понятно что делает тот или иной метод.

Дмитрий Логинов
Было время, разбирался. Ощущения были отвратительн...

...потом выйдет новая версия, в которой всунут ещё одну фишку, которую реализуют еще десятком костылей, и начинай с начала...

Стикер

Sergey-Bodrov Автор вопроса

TField это по сути TStream, обёртка над буфером для чтения-записи значений разных типов (Integer, Real, String..). Но в виде компонента (можно кидать на форму) и со своими тараканами. А TFieldDef вообще непонятно что и зачем.

Sergey Bodrov
TField это по сути TStream, обёртка над буфером дл...

насколько я понимаю, чтобы можно было СОЗДАТЬ таблицу и поля

Похожие вопросы

Обсуждают сегодня

Какой-то там пердун в 90-х решил, что есть какая-то разная типизация. Кого вообще это волнует?
КТ315
49
void terminal_scroll() { memmove(terminal_buffer, terminal_buffer + VGA_WIDTH, buffer_size - VGA_WIDTH); memset(terminal_buffer + buffer_size - VGA_WIDTH, 0, VGA_WIDTH); ...
Егор
47
Всем привет! Подскажите, пожалуйста, в чем ошибка? Настраиваю подключение к MySQL. Либы лежат рядом с exe. Все как по "учебнику"
Евгений
16
А можете как-то проверить меня по знаниям по ассемблеру?
A A
132
Здравствуйте! У меня появилась возможность купить книгу "Изучай Haskell во имя добра!". Но я где-то слышал, что эта книга устарела. Насколько это правда??
E
22
Здравствуйте! Я вот на stepic решаю задачи на хаскеле https://stepik.org/lesson/8443/step/8?unit=1578 мой код import Data.List (isInfixOf) removing :: String -> [String] ->...
E
10
Камрады, кто тесно работал с vtv, хотел уточнить. Ширина column задаётся жёстко на этапе создания дерева или можно в рантайме ее менять программно (не мышкой)?
Ed Doc
10
да ладно ... что там неочевидного ? глянуть в исх-ки датасета и/или кверика чтобы понять в каком месте и как выполняется обращения к св-вам blablaSQL - минутное дело, даже е...
Сергей
7
Здесь для arm кто-нибудь кодит ?
Nothing
52
Всем привет, у меня есть сервер принимающий входящие HTTP подключения, как проверить, что подключение было через прокси или нет, есть какие то поля в заголовках по которым мо...
DS
8
Карта сайта