如何获得指针指向的浮点值?

use*_*105 1 delphi floating-point pointers delphi-2009

在我的应用程序中,我创建了TList类型列表,其中我将指针存储为1个字符串,每3个项目存储2个浮点(实际)值.

aList.Add(@sName); //string
aList.Add(@x1); //float
aList.Add(@x2); //float
Run Code Online (Sandbox Code Playgroud)

然后,我想从列表中获取值,但我只能为字符串执行此操作

sStr := string(lList.items[i]);
Run Code Online (Sandbox Code Playgroud)

但我无法得到浮点值,因为a := real(lList...)会导致无效的类型转换错误.

那么我该如何获得浮动值呢?
当然我有一个问题,如果字符串转换实际上会给我字符串值.我不擅长指针的东西,所以我不知道该怎么做.

Nic*_*ges 5

我建议你创建一个记录:

TMyRecord = record
  sName: String
  x1: Double;
  x2: Double;
end;
Run Code Online (Sandbox Code Playgroud)

然后创建该类型的通用列表:

var
  MyRecordList: TList<MyRecord>;
Run Code Online (Sandbox Code Playgroud)

从那里,您应该能够轻松访问列表中的数据.

尝试将数据存储在TList中,并将特定数据类型存储在特定位置,这样就更麻烦了.