![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Сравнение вариантов [D7]
Ega23 © (2007-11-09 13:41:00)Всю бошку сломал.
procedure TCustomPCController.ChangeLogObjstate;
var
LogStatCod : Integer;
begin
inherited ChangeLogObjstate;
if (FLogObjID<>null) and (FPhsCfgTypCod<>null) then
begin
LogStatCod := configurator.DBUtils.getLogStatCod(FPhsCfgTypCod, FState);
ILogObjID.SetLogState(LogStatCod);
end;
end;
Здесь FLogObjID и FPhsCfgTypCod - protected поля класса, тип - variant.
Под отладчиком:
FLogObjID=2346, FPhsCfgTypCod=1540
НО Я НЕ ПОПАДАЮ В УСЛОВИЕ!!!
Т.е. сразу после if (FLogObjID<>null) and (FPhsCfgTypCod<>null) then - попадаю на end.
Оптимизация отключена.
Ega23 (2007-11-09 13:57:00) [1]Всё, понял.
CustomClass был в одной dll описан, потомок - в другой.
Надо было обоим ребилд сделать, а я только для CustomClass делал.
Джо (2007-11-09 13:51:00) [2]Причем, если V := null, то VarIsEmpty(V) = False, что логично, но не всегда очевидно ;)
Ega23 (2007-11-09 13:50:00) [3]
> зайди в CPU Window посмотри, почему не попадаешь
Да хрен его знает, почему. Неясно там нифига. Могу скрин-шот прислать.
Блин, бред какой-то...
Reindeer Moss Eater (2007-11-09 13:47:00) [4]Есть еще VarIsEmpty и VarIsNull
Игорь Шевченко (2007-11-09 13:43:00) [5]зайди в CPU Window посмотри, почему не попадаешь