type
tagRCV_REPORT_STRUCTEx = record
m_wMarket : WORD;
m_szLabel : string[255];
end; tagRCV_DATA = record
m_wDataType : integer;
m_pReport : ^tagRCV_REPORT_STRUCTEx );
end;var
pHeader:^tagRCV_DATA;
p_RCV_DATA:^tagRCV_DATA;
procedure TForm1.ShowStock(lPara:longint);
var
strLabel:string[100];
begin
pHeader := p_RCV_DATA(@lPara);
strLabel:=pHeader^.m_pReport^.m_szLabel;
end;
tagRCV_REPORT_STRUCTEx = record
m_wMarket : WORD;
m_szLabel : string[255];
end; tagRCV_DATA = record
m_wDataType : integer;
m_pReport : ^tagRCV_REPORT_STRUCTEx );
end;var
pHeader:^tagRCV_DATA;
p_RCV_DATA:^tagRCV_DATA;
procedure TForm1.ShowStock(lPara:longint);
var
strLabel:string[100];
begin
pHeader := p_RCV_DATA(@lPara);
strLabel:=pHeader^.m_pReport^.m_szLabel;
end;
lPara是什么东西?怎么定义和赋值的?
改成这样应该也可以
type
tagRCV_REPORT_STRUCTEx=^TtagRCV_REPORT_STRUCTEx;
TtagRCV_REPORT_STRUCTEx = record
m_wMarket : WORD;
m_szLabel : string[255];
end;
tagRCV_DATA=^TtagRCV_DATA;
TtagRCV_DATA = record
m_wDataType : integer;
m_pReport : tagRCV_REPORT_STRUCTEx );
end;var
pHeader:tagRCV_DATA;
p_RCV_DATA:tagRCV_DATA;
procedure TForm1.ShowStock(lPara:longint);
var
strLabel:string[100];
begin
pHeader := p_RCV_DATA(@lPara);
strLabel:=pHeader^.m_pReport^.m_szLabel;
end;
出错问题是"访问地址出错0xffffffff"
strLabel:=pHeader^.m_pReport^.m_szLabel;
肯定会出错,将一个longint类型赋给p_RCV_DATA类型,然后访问m_szLabel(m_szLabel根本没有值,m_PReport也没有赋值,所以访问m_PReport肯定会出错)