呵呵,请各位大侠们帮帮忙我定义了一个记录类型:
type
P_CURVE_FLOWMETER= ^CURVE_FLOWMETER; CURVE_FLOWMETER=Record
bytRtuAddr:byte;
bytFlowmetterAddr:byte;
strFlowmetterName:string; Next:P_CURVE_FLOWMETER;
end;再定义了一个 指向此记录的指针:
rcf_pCreate:P_CURVE_FLOWMETER;已经用 GetMem(rcf_pCreate,sizeof(CURVE_FLOWMETER)); 动态申请内存了rcf_pCreate^.bytRtuAddr:=xxx;
rcf_pCreate^.bytFlowmetterAddr:=xxxx
没问题唯独给rcf_pCreate^.strFlowmetterName:=XXX赋值时报错(编译是没报错,执行时报错)
我是给它赋的string类型的值报错如下:
Access violation at address 0040416A in module
type
P_CURVE_FLOWMETER= ^CURVE_FLOWMETER; CURVE_FLOWMETER=Record
bytRtuAddr:byte;
bytFlowmetterAddr:byte;
strFlowmetterName:string; Next:P_CURVE_FLOWMETER;
end;再定义了一个 指向此记录的指针:
rcf_pCreate:P_CURVE_FLOWMETER;已经用 GetMem(rcf_pCreate,sizeof(CURVE_FLOWMETER)); 动态申请内存了rcf_pCreate^.bytRtuAddr:=xxx;
rcf_pCreate^.bytFlowmetterAddr:=xxxx
没问题唯独给rcf_pCreate^.strFlowmetterName:=XXX赋值时报错(编译是没报错,执行时报错)
我是给它赋的string类型的值报错如下:
Access violation at address 0040416A in module
改为:
strFlowmetterName: string[255];或者不要用GetMem,用New(rcf_pCreate);