У нас есть примерно такой код (Delphi 6 RTL Update Pack 3):
objChild1 := TChild1.create();
... (Some Code)
objProcessor.function1(objChild1);
Tchild1 наследуется от TGandPa через 2+ уровня иерархии.
function1 определяется следующим образом, где objChildData — частная переменная класса TProcessor и имеет тип TChild1:
TProcessor.function1(objTemp : TGrandPa):boolean;
begin
objChildData := TChild1(objTemp);
....
end;
Из журналов (поскольку мы не можем выполнять отладку на клиентской машине) мы выяснили, что первая строка в функции1 делает objChildData равным нулю иногда и только на одной конкретной клиентской машине. Остальные места, где развернут тот же код, похоже, работают отлично.
Может ли кто-нибудь пролить свет на то, почему это происходит и/или как это решить?
objTemp.ClassName
- person ulrichb   schedule 12.02.2010TChild1.Create
. - person PA.   schedule 15.02.2010