Форум: "Потрепаться";
Текущий архив: 2004.04.18;
Скачать: [xml.tar.bz2];
ВнизЕсть указатель на буфер Найти похожие ветки
← →
Дремучий © (2004-03-24 17:18) [0]Buffer: Pointer;
как занести в него значение переменной типа variant?
← →
Polevi © (2004-03-24 17:20) [1]звисит от VarType
← →
Digitman © (2004-03-24 17:25) [2]здрасть ..
Buffer := @VariantVariable;
← →
Дремучий © (2004-03-24 17:28) [3]
> Digitman © (24.03.04 17:25) [2]
> Buffer := @VariantVariable;
ИМХО, здесь мы не присваиваем значение, а меняем адрес указателя. Или я не прав?
← →
Дремучий © (2004-03-24 17:35) [4]
> Polevi © (24.03.04 17:20) [1]
> звисит от VarType
ну... от чего зависит я знаю. :)) А как присвоить значение?
← →
Ega23 © (2004-03-24 17:38) [5]А как присвоить значение?
:= :o)
← →
Nikolay M. © (2004-03-24 17:43) [6](с любопытством) а какой результат ты хочешь получить?
Имхо, если есть кусок памяти, в который нужно разместить значение варианта, тогда - [1] + GetMem, если получить указатель на данные варианта, тогда - [2].
Может, я чего не понимаю, конечно...
← →
Дремучий © (2004-03-24 17:51) [7]
> есть кусок памяти, в который нужно разместить значение варианта
только тут еще один момент... память под этот указатель выделяю не я. Но будем считать, что ее "хватает".
← →
Nikolay M. © (2004-03-24 18:01) [8]VarToStr + копирование памяти copy?
← →
Матлабист (2004-03-24 18:01) [9]Что за задача вообще решается? Откуда Variant?
← →
Дремучий © (2004-03-24 18:23) [10]
> Nikolay M. © (24.03.04 18:01) [8]
> VarToStr + копирование памяти copy?
23 как число и "23" как строка -- совершенно разные значения. Или нет?
> Матлабист (24.03.04 18:01) [9]
> Что за задача вообще решается? Откуда Variant?
вообщето, вопрос родился при переопределения функуии TDataSet:
function TmyDataSet.GetFieldData(Field: TField; Buffer: Pointer): Boolean;
← →
panov © (2004-03-24 18:40) [11]Кажется мне, что тут плясать надо от свойств TField, а не от Variant...
В первоначальной постановке нормального решения задачи не просматривается пока...-)
← →
Матлабист (2004-03-24 18:51) [12]Вроде своя база банных и в ней поля типа Variant? Тогда ты их как-то в своей базе на диске хранишь. Вот то, что ты хранишь, и заноси в буфер.
← →
Дремучий © (2004-03-24 19:21) [13]
> panov © (24.03.04 18:40) [11]
> Кажется мне, что тут плясать надо от свойств TField, а не
> от Variant...
> Матлабист (24.03.04 18:51) [12]
> Вроде своя база банных и в ней поля типа Variant?
не нужно привязыватся к базе и полям. Есть конкретный вопрос.
> В первоначальной постановке нормального решения задачи не
> просматривается пока...-)
я думаю, что нужно копать в сторону
Move(RecBuf^, Buffer^, Field.Size);
StrLCopy(Buffer, RecBuf, Field.Size)
хотя могу и ошибаться...
Страницы: 1 вся ветка
Форум: "Потрепаться";
Текущий архив: 2004.04.18;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.035 c