Форум: "Основная";
Текущий архив: 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.04 c