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

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

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

9 ответов

24 просмотра

Была серия статей какой-то англичанки, но с ней как водится ращосрались, и она снесла. В общем, смотри как сделано в 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, обёртка над буфером дл...

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

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта