【发布时间】:2021-03-06 14:05:55
【问题描述】:
我创建了一个函数,它的 Char 由一个名为 fsinal 的变量表示:
type
TCalculo = class(TObject)
private
fnumero1 : integer;
fnumero2 : integer;
fsinal : char;
public
然后我创建了一个方法来获取这个Char:
function getSinal : char;
function TCalculo.getSinal: char;
begin
result := fsinal;
end;
每当我朗读我的程序并按下任何按钮时,我都会收到错误消息
在地址 005FD704 的访问冲突,读取地址 0000000C:
我做错了什么?
完整代码:
https://github.com/murillojndem/Calculadora/blob/master/Unit1.pas
【问题讨论】:
-
TCalculo是一个类,为了使用它(class变量、方法和属性除外),您首先需要创建一个实例(=object)其中。我敢打赌你忘记了。 (calculo := TCalculo.Create创建该类的一个对象并将指向它的指针分配给calculo变量,然后您可以在此行之后 使用它。在此行之前,calculo是一个@ 987654337@指针(如果是全局变量或类成员)或“随机垃圾”指针(如果是局部变量)。) -
此处不接受异地代码链接。所有相关内容都需要以minimal reproducible example 的形式出现在问题本身中。如果您花一些时间在tour 和阅读help center 页面以了解该网站的工作原理,然后再开始发布,您会发现您在这里的体验会好很多。
-
我应该在哪里添加“calculo := TCalculo.create”?我尝试添加的任何地方似乎都会返回错误。
-
您需要在使用它之前创建对象。然后,您需要在 使用完之后释放它。这是普遍的真理。雷米在他的回答中给了你两个非常明确的例子。
标签: function variables delphi get char