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

我是用的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 不知为何死活没了脚本扩展专家, 菜单和专家设置中都没有.

[[i] 本帖最后由 wiseinfo 于 2012-8-17 15:09 编辑 [/i]]

2012-8-21 23:56 Passion
关于自己编译没有脚本专家的问题,请参考源码包中的components.txt文件?

2012-8-22 20:52 wiseinfo
谢了, 一看就明白了.

2012-9-27 20:10 xiaoxixiaoxi
新手学习

页: [1]
查看完整版本: 发现点小问题


Powered by Discuz! Archiver 5.0.0  © 2001-2006 Comsenz Inc.