使用 Delphi,我需要访问一个包含一个或多个数组记录的 OleVariant。
我调用的方法返回一个 VT_RECORD 的 VT_ARRAY,记录本身定义为:
struct StreamTimeInfo {
unsigned int PID;
LONGLONG PTS;
LONGLONG TimeStamp;
};
我的代码是这样的:
procedure Test;
type
TStreamInfo = record
PID: Cardinal;
PTS: Int64;
TimeStamp: Int64;
end;
var
Value: OleVariant
StreamTime: TStreamInfo;
begin
GetValue(Value); // Value holds a VT_ARRAY of VT_RECORD
// How should I access the array of records in Delphi?
// I've tried this to get to the first element:
StreamTime := TStreamInfo(TVarData(Value).VPointer^);
end;
我不明白如何从 Delphi 访问记录。
非常感谢任何输入。