一個關於對象的問題,很菜喲,請看原代碼:(100分)

  • 主题发起人 主题发起人 dreamyyuan
  • 开始时间 开始时间
D

dreamyyuan

Unregistered / Unconfirmed
GUEST, unregistred user!
type
THostInfo=class
public
Hostname:string;
Hostport:string;
procedure GetHostInfo();
end;

procedure THostInfo.GetHostInfo;
var Finifile:TIniFile;
begin
Finifile:=TInifile.Create('winpopup.ini');
try
with Finifile do
begin
HostName:=Finifile.ReadString('SysInfo','HostName',' . . .');
HostPort:=Finifile.ReadString('SysInfo','HostPort','12');
end;
finally
Finifile.Free;
end;
end;

為什麼不能給HostNanme,HostPort符值呢?執行到這裡就出錯。
 
指定'winpopup.ini'的绝对位置试试。
 
with Finifile do??
你的FINIFILE是TIniFile,不是THostInfo,你上什么意思,
你使用SELF.HostName试一下
 
with THostInfo do
 
type
THostInfo=class
public
Hostname:string;
Hostport:string;
procedure GetHostInfo();
end;

procedure THostInfo.GetHostInfo;
var Finifile:TIniFile;
begin
// Finifile:=TInifile.Create('winpopup.ini');
// try
HostName:='';
HostPort:='';
// HostName:=Finifile.ReadString('SysInfo','HostName',' . . .');
// HostPort:=Finifile.ReadString('SysInfo','HostPort','12');
// finally
// Finifile.Free;
// end;
end;
這樣也出錯呀,WHY?
 
Finifile:=TInifile.Create('winpopup.ini');
这样是创建文件,是空的,你read当然会出错.
如果你要读一个文件应该

var
Finifile:TIniFile;
begin
AssignFile(finifile,'winpopup.ini');
Reset(finifile);
with Finifile do
begin
HostName:=Finifile.ReadString('SysInfo','HostName',' . . .');
HostPort:=Finifile.ReadString('SysInfo','HostPort','12');
end
end

 
多人接受答案了。
 
我觉得不是楼上各高手所云,
我已将dreamyyuan的代码在我机上测试过,完全copy版,但没有遇到dreamyyuan所说的问题;
我猜想可能是你的类定义与说明有误,不妨重新检查一下。
 
后退
顶部