Hello, Janex!
Janex wrote:
Oleg LOA wrote:
> ANumericValue^ - и что это будет при ANumericValue == nil?
Ну ето понятно что будет оч нехорошо, но если мы UDF-у в параметре даём
NULL или нормальныи параметр, то как он может быть nil ?
При каких входных параметрах он может бить nil ?
Значит сперва проверка на nil и потом только на
UDF_IsNull(ANumericValue^) ???
function isNull(const Test: PDSC): Integer; cdecl;
begin
try
if (Test = nil) or
(Test^.dsc_address = nil) or
((Test^.dsc_flags and DSC_null) = DSC_null) then
Result := 1
else
Result := 0;
except
result := -1;
end;
end;
я уж не помню, чье это, но вообще так нельзя. т.е.
за if (Test = nil) or (Test.dsc_address = nil)
я бы руки отрубал.
но надеюсь, смысл всех трех проверок ясен.
--
Dmitri Kouzmenko, www.ibase.ru, (495) 953-13-34