Board logo

Subject: 发现点小问题 [Print This Page]

Author: wiseinfo    Time: 2012-8-17 14:56     Subject: 发现点小问题

我是用的0.9.9.621, DELPHI XE, 想在脚本扩展专家中用IncProjBuild.pas改造下, 在BeforeCompile编译时能够定制版本信息
Writeln('Event: ' + Event.ClassName); //TCnScriptBeforeCompile 显示正常
TCnScriptBeforeCompile(Event).Project   //但这里就不正常了, 编译器: [Error] (23:33): Unknown identifier 'PROJECT'

而IncProjBuild.pas中用到的CnOtaGetCurrentProject,CnOtaGetActiveProjectOptions获得的是Project Manger选择中的Project, 而并不是当前编译的Project

再接着下载cnwizards_0.9.9.621_src来修改CnVerEnhancements.pas实现我要的功能,
procedure TCnVerEnhanceWizard.InsertTime;中发现问题
Keys := TStringList(CnOtaGetVersionInfoKeys); //CnOtaGetVersionInfoKeys 是针对Project Manger选择中的Project, 而并不是当前编译的Project
所以InsertTime 应该加多project参数, 调用InsertTime时把Project参数带过来.Keys := TStringList(CnOtaGetVersionInfoKeys(Project));

有时候可能在Project Manger上鼠标右键选择一个Project来编译, 但并没有选中这个, 并且有可能一次Build全部的Project

用自己编译的 CnWizards_D15.dll 不知为何死活没了脚本扩展专家, 菜单和专家设置中都没有.

[ 本帖最后由 wiseinfo 于 2012-8-17 15:09 编辑 ]
Author: Passion    Time: 2012-8-21 23:56

关于自己编译没有脚本专家的问题,请参考源码包中的components.txt文件?
Author: wiseinfo    Time: 2012-8-22 20:52

谢了, 一看就明白了.
Author: xiaoxixiaoxi    Time: 2012-9-27 20:10

新手学习




Welcome to CnPack Forum (http://bbs.cnpack.org/) Powered by Discuz! 5.0.0