TheItem := TRD1_VolStyleList(TheDataList)[i];
aDataRec[i].DATE := TheItem.DateStr;
aDataRec[i].RATE := TheItem.RATE;
aDataRec[i].Up := TheItem.Up; 聲明如下: TRD1_VolStyleList = class(TWWCustomDataKeyList)
public
constructor Create(const AIsCreateListFile: Boolean; const AFileName: string);
private
function GetItem(Index: Integer): TRD1_VolItemRec;
procedure SetItem(Index: Integer; Value: TRD1_VolItemRec);
public
procedure Add(AItem: Pointer); override;
property Items[Index: Integer]: TRD1_VolItemRec read GetItem write SetItem; default;
end;
TheItem: TRD1_VolItemRec;
TRD1_VolItemRec = packed record
DateTime: TDateTime;
DateStr: string[10];
UP: Single;
RATE: Single;
end;
theItem和TRD1_VolStyleList(TheDataList)[i];怎么能相等?TRD1_VolStyleList(TheDataList)這種轉換時什么意思?TheDataList本來就是由TRD1_VolStyleList所創建的一個實例,為什么還要做這個動作?我新手,待牛人解決!!!!!!!
aDataRec[i].DATE := TheItem.DateStr;
aDataRec[i].RATE := TheItem.RATE;
aDataRec[i].Up := TheItem.Up; 聲明如下: TRD1_VolStyleList = class(TWWCustomDataKeyList)
public
constructor Create(const AIsCreateListFile: Boolean; const AFileName: string);
private
function GetItem(Index: Integer): TRD1_VolItemRec;
procedure SetItem(Index: Integer; Value: TRD1_VolItemRec);
public
procedure Add(AItem: Pointer); override;
property Items[Index: Integer]: TRD1_VolItemRec read GetItem write SetItem; default;
end;
TheItem: TRD1_VolItemRec;
TRD1_VolItemRec = packed record
DateTime: TDateTime;
DateStr: string[10];
UP: Single;
RATE: Single;
end;
theItem和TRD1_VolStyleList(TheDataList)[i];怎么能相等?TRD1_VolStyleList(TheDataList)這種轉換時什么意思?TheDataList本來就是由TRD1_VolStyleList所創建的一個實例,為什么還要做這個動作?我新手,待牛人解決!!!!!!!
这个不是相等,而是指向TRD1_VolStyleList(TheDataList)這種轉換時什么意思
类型转换,将TheDataList转换为TRD1_VolStyleList,去学习类的转换TheDataList本來就是由TRD1_VolStyleList所創建的一個實例,為什么還要做這個動作
这个道理同第二个问题,先去学习基本知识
如果TheDataList本來就是由TRD1_VolStyleList所創建的一個實例,那么就可以不需要转。如果TheDataList是TRD1_VolStyleList的祖先类,就需要转theItem和TRD1_VolStyleList(TheDataList)[i];怎么能相等?
代码只有片段,如果按照常理来看是不能相等的,关键是看你的TRD1_VolStyleLis是怎么写的?