注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

Mr.Right

不顾一切的去想,于是我们有了梦想。脚踏实地的去做,于是梦想成了现实。

 
 
 

日志

 
 
关于我

人生一年又一年,只要每年都有所积累,有所成长,都有那么一次自己认为满意的花开时刻就好。即使一时不顺,也要敞开胸怀。生命的荣枯并不是简单的重复,一时的得失不是成败的尺度。花开不是荣耀,而是一个美丽的结束,花谢也不是耻辱,而是一个低调的开始。

网易考拉推荐

Delphi Type '%s' needs finalization - not allowed in file type  

2013-01-24 22:30:29|  分类: 编程 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

delphi错误Type 'TData' needs finalization - not allowed in file type
主要的原因是你的结构中包括String。在Delphi中,String是可变长度的字符串,这样在进行文件操作时,Delphi无法知道TData结构到底有多少个字节组成。所以你需要改变定义,如:

Text: array [1..25] of Char;

或者

Text: String[50]

这里Text的长度根据实际需要设置

 

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

 

Certain types are treated specially by the compiler on an internal basis in that they must be correctly finalized to release any resources that they might currently own. Because the compiler cannot determine what type is actually stored in a record's variant section at runtime, it is not possible to guarantee that these special data types are correctly finalized.

/////////////////////////////////////////////////
program Produce;

  type
    Data = record
      name : string;
    end;

  var
    inFile : file of Data;

begin
end.
//////////////////////////////////////////////////////

String is one of those data types which need finalization, and as such they cannot be stored in a File type.

///////////////////////////////////////////////////////
program Solve;

  type
    Data = record
      name : array [1..25] of Char;
    end;

  var
    inFile : file of Data;

begin
end.
/////////////////////////////////////////////////////

One simple solution, for the case of String, is to redeclare the type as an array of characters. For other cases which require finalization, it becomes increasingly difficult to maintain a binary file structure with standard Pascal features, such as 'file of'. In these situations, it is probably easier to write specialized file I/O routines.

  评论这张
 
阅读(644)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017