Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.09.12;
Скачать: [xml.tar.bz2];

Вниз

Помогите разобраться с ошибкой 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.036 c
14-1093409682
Kerk
2004-08-25 08:54
2004.09.12
ПОДДЕРЖИ НЕМОВА! ПОШЛИ ПРОТЕСТ МОК!


9-1084727256
G_U_N
2004-05-16 21:07
2004.09.12
Полупрозрачный рисунок


4-1091291087
Hyboid
2004-07-31 20:24
2004.09.12
Поток консольного приложения


1-1093816829
RaPToR_1
2004-08-30 02:00
2004.09.12
узнать hwnd


6-1089111155
fylhtq
2004-07-06 14:52
2004.09.12
Invalid pointer operation при пинге - в чем засада?





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