发现点小问题
我是用的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 编辑 ]
|