Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.09.12;
Скачать: CL | DM;

Вниз

Помогите разобраться с ошибкой Invalid variant type    Найти похожие ветки 

 
Sectey ©   (2004-08-25 13:39) [0]

Совершенно неожиданно возникает ошибка :
raised exception class EVariantBadVarTypeError with message nvalid variant type".
Вот код :

type
 TFieldValue = packed record
   FieldName : String;                                             Value : variant;                                          
 end;
 PFieldValue = ^TFieldValue;

function TCmdGetLookupFields.AddField(AFieldName: string): integer;
var
 p : PFieldValue;
begin
 Result := -1;
 if AFieldName = "" then
   Exit;
 if IndexOfName(AFieldName) < 0 then
 begin
   GetMem(p,  sizeof(TFieldValue));
   try
     p^.FieldName := AFieldName;
     p^.Value := null;
<-Вот здесь и возникает ошибка При этом не всегда, при отладке ни разу не вылетела, а в рунтайме периодически.
     Result := FFields.Add(p);
   except
     FreeMem(p);
     Result := -1;
   end
 end;
end;


 
Skier ©   (2004-08-25 13:53) [1]

А что вернёт VarIsEmpty(p^.Value) ?


 
Sectey ©   (2004-08-25 13:59) [2]

>Skier ©
True - ведь переменная  не определена.

Ага т.е. variant лучше не инициализировать?


 
Skier ©   (2004-08-25 14:02) [3]

угу.
она у тебя не Empty, a Unassigned
посмотри справку по Unassigned...


 
Sectey ©   (2004-08-25 14:16) [4]

Спасибо большое



Страницы: 1 вся ветка

Текущий архив: 2004.09.12;
Скачать: CL | DM;

Наверх




Память: 0.45 MB
Время: 0.023 c
1-1093535356
Aleksandr.
2004-08-26 19:49
2004.09.12
Как ListBox заставить реагировать на OnDblClick в пустой области?


1-1093426792
Sectey
2004-08-25 13:39
2004.09.12
Помогите разобраться с ошибкой Invalid variant type


14-1093435367
Суслик
2004-08-25 16:02
2004.09.12
Фотки с встречи дельфистов


1-1093386476
3APA3A
2004-08-25 02:27
2004.09.12
2 дополнительных потока при использовании TActionManager


3-1092751821
Новичёк
2004-08-17 18:10
2004.09.12
Выпадающий список в DBGrid.





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский