贪心算法求解背包问题:Lilac,求解

 上传我的文档
 下载
 收藏
该文档贡献者很忙,什么也没留下。
 下载此文档
正在努力加载中...
CFX常见问题与对策
下载积分:750
内容提示:CFX常见问题与对策
文档格式:PDF|
浏览次数:26|
上传日期: 06:13:15|
文档星级:
该用户还上传了这些文档
CFX常见问题与对策
官方公共微信Delphi(10)
1)首先将自写的控件转移。直接从以前的.dpk安装控件,发现安装不上去,出现很多编译错误。只好另外新建一个D2009的包文件,再将源码文件添加进来。安装成功。&
& & & &虽然安装成功,却有以下问题:[DCC Warning] Lilac.dpk(62): W1033 Unit 'VirtualTrees' implicitly imported into package 'Lilac'&
& & & &从词面上知道解决方法,却不知道为什么会产生这个问题。&
& & & &解决方法:将VirtualTrees所在包的dcp文件添加到Requires中。
2)由以下代码产生的警告 [DCC Warning] RVMarker.pas(1122): W1063 Widening given AnsiChar constant (#$A7) to WideChar lost information
& & & &var&
& & & & & &ch: C&
& & & &begin&
& & & & & &if (ch &= #$A7) then //或者 if (ch &= #167) &then&
& & & &产生原因:D2009的Char为宽字符WideChar,而#$A7代表的是AnsiChar。&
& & & &解决方法:要将 #$A7 或 #167 改为 #$00A7 即可
3)由以下代码产生的警告 [DCC Warning] RVMarker.pas(1120): W1057 Implicit string cast from 'AnsiChar' to 'string'
& & & &// 函数的声明:procedure ReplaceStr(var str: S oldstr, newstr: String);&
& & & &ReplaceStr(stResult, #$A7, 'A');&
& & & &ReplaceStr(stResult, #167, 'A'); & & & &
& & & &产生原因:同上&
& & & &解决方法:同上
4)protected域的procedure GetChildren(Proc: TGetChildP Root: TComponent);在编译时出现警告:[DCC Hint] uMLBoxCtrls.pas(722): H2269 Overriding virtual method 'TMLListBox.GetChildren' has lower visibility (protected) than base class 'TMLControl' (public)
& & & &从信息可以看出是因为将父类(TCustomControl)的public域函数覆盖到了protected域导致的
& & & &产生原因:此函数(TCustomControl.GetChildren)在D6中是protected域的函数,在D2009中却成了public域了&
& & & &解决方法:将此函数声明到public域中
5)调用API函数gethostname出错:[DCC Error] uVIMPublicFun.pas(449): E2010 Incompatible types: 'Array' and 'PAnsiChar'
& & & &var&
& & & & & &hostName : array [0..255]&
& & & &begin&
& & & & & &gethostname(hostName, sizeof (hostName));&
& & & & & & & &
& & & &产生原因:D2009的Char为宽字符WideChar,而gethostname第一个参数是PAnsiChar。&
& & & &解决方法:将hostName的声明改成array [0..255] of AnsiC即可。
6)以下代码生成警告:[DCC Warning] uEditor.pas(192): W1058 Implicit string cast with potential data loss from 'TCaption' to 'ShortString'
& & & &var&
& & & & & &DisName : string[80];&
& & & &begin&
& & & & & &DisName := Self.cmg_Edit.T&
& & & & & & & &
& & & &产生原因:又是一个类型问题&
& & & &解决方法:这种以前在D6中常的代码以后不能用了:(,改正也简单:DisName := ShortString(Self.cmg_Edit.Text);。
7)以下代码编译错误:[DCC Error] PageFrm_Owner.pas(3695): E2008 Incompatible types
& & & &var&
& & & & & &DisName : string[80];&
& & & & & AliasName: array[0..80] of C&
& & & &begin&
& & & & & &DisName := AliasN&
& & & & & & & &
& & & &产生原因:还是类型问题&
& & & &解决方法:DisName := ShortString(AliasName);
8)以下代码产生警告:[DCC Warning] VirtulFirm.pas(127): W1050 WideChar reduced to byte char in set expressions. &Consider using 'CharInSet' function in 'SysUtils' unit.
& & & &procedure TVirtualFirm.edFirmKeyPress(Sender: TO var Key: Char);&
& & & &begin&
& & & & & if not (Key in ['0'..'9']) then&
& & & & & begin&
& & & & & & Key := #0;&
& & & & &&
& & & & & & & &
& & & &产生原因:类型问题&
& & & &解决方法://if not (AnsiChar(Key) in ['0'..'9']) then
用CharInSet函数来代替,既可以判断AnsiChar,也可以判断WideChar
9)cm_Pt := SmallPointToPoint(Message.Pos)会产生一行提示:[DCC Hint] uMLPageControl.pas(326): H2443 Inline function 'SmallPointToPoint' has not been expanded because unit 'Types' is not specified in USES list & & &&
& & & &产生原因:查看函数的声明发现一个以前没有在delphi中出现过的inline,估计此关键字的功能与C++的相同或相似。&
& & & &解决方法:根据提示信息即可知道如何解决,即uses types
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:5684次
排名:千里之外
转载:13篇
(1)(3)(2)(7)(1)(2)

我要回帖

更多关于 贪心算法求解背包问题 的文章

 

随机推荐