为什么会这样?(0分)

  • 主题发起人 主题发起人 SmallGhost
  • 开始时间 开始时间
S

SmallGhost

Unregistered / Unconfirmed
GUEST, unregistred user!
////////////////////////////////////////////////////////////////////////////////
type
RDirectStructInfo = record
// 目录编号
r_wDirectNo : WORD;
// 父节点编号
r_wParentNodeNo : WORD;
// 目录名称
r_szDirectName : string[255];
end;

// 包文件管理者
CDYFilePakManager = class
public
constructor Create;
destructor Destroy;
override;
procedure AddDirect( arg_rDirectInfo : RDirectStructInfo);
public
protected
m_rDirectInfoArray : array[0..const_MaxDirectStructInfoSize] of RDirectStructInfo;
m_rFileInfoArray : array[0..const_MaxFileStructInfoSize] of RFileStructInfo;
private
end;
////////////////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////////////////
//{{ 添加虚拟目录
procedure TForm1.FlatSpeedButton5Click(Sender: TObject);
var
clDirectStructInfo : RDirectStructInfo;
begin
clDirectStructInfo.r_wDirectNo := 1;
clDirectStructInfo.r_wParentNodeNo := 0;
clDirectStructInfo.r_szDirectName := 'Test001';
clFilePakManager.AddDirect(clDirectStructInfo01);
end;
//}} 添加虚拟目录
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
//{{ 添加目录的实现代码
procedure CDYFilePakManager.AddDirect(arg_rDirectInfo : RDirectStructInfo);
begin
m_rDirectInfoArray[0].r_wDirectNo := arg_rDirectInfo.r_wDirectNo;
m_rDirectInfoArray[0].r_szDirectName := Copy(arg_rDirectInfo.r_szDirectName,0,255);
// 能不能把上面的语句改为
// m_rDirectInfoArray[0].r_szDirectName := arg_rDirectInfo.r_szDirectName;

m_rDirectInfoArray[0].r_wParentNodeNo := arg_rDirectInfo.r_wParentNodeNo;
end;
//}} 添加目录的实现代码
////////////////////////////////////////////////////////////////////////////////
为什么上面的代码会导致程序错误,系统提示如下:
   Exception EAccessViolation in module DyFpak.exe at 0001BD4A
Access violation at address 0041BD4A in module 'DyFpak.exe'.Read of address 810010E2.
头都搞晕了,希望大家帮帮忙,找找问题在那里
 
你贴的程序很不完整,怎么看?程序出错,单步跟踪调试一下,找到出错的语句,再仔细
查,你连哪句语句出错都没说,我可不愿根据推测先把你的代码补完整,再一步一步调出
错误点,你要来求助的话,也让想帮你的人方便点啊!
 
光就你上面的代码,怎么会不出错?create都没有!
 
谢谢大家的帮助。
谢谢dirk的提示。
是不是每个类变量都要调用Create呀?
 
创建对象实例要create
 
后退
顶部