gpt4 book ai didi

delphi - 德尔福中的不安全 Actor 有时只在某些机器上给出零?

转载 作者:行者123 更新时间:2023-12-03 19:45:16 24 4
gpt4 key购买 nike

我们有一些类似这样的代码(Delphi 6 RTL Update Pack 3):

objChild1 := TChild1.create();
... (Some Code)
objProcessor.function1(objChild1);

Tchild1 通过 2 + 层级从 TGrandPa 继承。

function1 是这样定义的,其中 objChildData 是 TProcessor 类的私有(private)变量,并且是 TChild1 类型:
TProcessor.function1(objTemp : TGrandPa):boolean;    
begin
objChildData := TChild1(objTemp);
....
end;

从日志中(因为我们无法在客户机器上调试),我们缩小了 function1 中的第一行使 objChildData 有时且仅在一个特定客户的机器上为零的范围。部署相同代码的其他地方似乎工作得很好。

谁能解释一下为什么会发生这种情况和/或如何解决这个问题?

最佳答案

似乎你在 ObjChild.Create 上做了一些事情,它抛出了一个异常并且由于某种原因被吞下(try..except 子句为空)——当这种情况发生时,Create 不能返回一个有效的实例,返回 NIL反而。它可以是在构造函数内部调用的函数。

如果您将您在 TObjChild.Create 上所做的事情带到该站点,也许我们可以发现问题。

关于delphi - 德尔福中的不安全 Actor 有时只在某些机器上给出零?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2219977/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com