Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Variant


SerB ©   (2006-12-02 07:42:00) 

Нужно считать из файла число 4 или 8 байт. BlockRead(FP,V,KolvoByte); если переменная V соответствующего типа, то читает нормально, но если V:Variant, то выдает ошибку неизвестный тип. Где сдесь ошибка или как это дело сделать по другому???


oxffff   (2006-12-02 12:36:00) [1]

Естественно перед

Tvardata(a).VType:=varInteger or varByRef;
Blockread(Fp,Tvardata(a).VPointer^,sizeof(integer));

Tvardata(a).VPointer должнен быть инициализирован


oxffff   (2006-12-02 12:34:00) [2]

Пардон, ошибся.

var a:Variant;
begin
Tvardata(a).VType:=varInteger;
Blockread(Fp, Tvardata(a).VInteger,sizeof(integer));

или

Tvardata(a).VType:=varInteger or varByRef;
Blockread(Fp,Tvardata(a).VPointer^,sizeof(integer));


oxffff   (2006-12-02 12:28:00) [3]

var a:Variant;
begin
Tvardata(a).VType:=vtInteger;

Blockread(Fp, Tvardata(a).VInteger,sizeof(integer));


ЮЮ   (2006-12-02 09:36:00) [4]

Читать в переменную определенного типа, а потом присваивать вариантной переменной.


Наверх

Титульная страница Поиск, карта сайта Написать письмо