Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 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.024 c
6-1076900173
Alek Aaz
2004-02-16 05:56
2004.04.18
DNS кэш


1-1080700905
Bizquit
2004-03-31 06:41
2004.04.18
Как записать в Buffer побайтно


7-1077131139
Khabibulin
2004-02-18 22:05
2004.04.18
A:


1-1080459979
Neep
2004-03-28 11:46
2004.04.18
Помогите разобраться с CallBack


1-1080718810
neodiX
2004-03-31 11:40
2004.04.18
Delphi7, XPManifest, TGroupBox - отображение кириллицы. Решение!





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский