zoukankan      html  css  js  c++  java
  • 反向工程的问题

    前段时间用过AX4.0的反向工程工具,没啥问题,今天却怎么也玩不转,倒是生成了一个Visio文件,但就是没有内容。跟踪了一下代码发现,AX会把反射得到的数据存到一个临时文件里,然后通过Visio COM对象的一个名为UML Background add-on的add-on将该临时文件导入到Visio文件中。导入的动作发生在类
    SysVisionAddin的run->loadImportFile方法中,通过
    addOn.run( strfmt( #addOnCommand, documentIndex, WinAPI::getShortPathName(importFile.parmImportFileName()) ) );
    这行代码将其导入到当前刚创建好的Visio文件中,这跟在Visio中通过宏命令导入文件是一样的,但这个路径不知道咋整的,不支持中文,只要路径中包含中文上面的这个命令就没法执行了。
    对这个不熟,不知道怎么改一下就可以让它支持中文路径,暂时的解决办法是:生成Visio文件不要存放到含有中文的路径下,比如含有 桌面 等的路径。

    另外如果是Visio2007也不能导出成功,原因出在loadImportFile这个方法调用的getUmlAddOn方法上,这个方法会遍历当前Visio所有的Add-on,找到名称为"UML Background add-ond"的返回,获取Add-on的名称用的是addOn.name()这个方法,这在Visio2003下没有问题,但在Viso2007下,这个方法返回的是中文,在与"UML Background add-ond"比较时就出问题找不到对应的Add-on了。
    AX5.0已经修复了这个bug,通过addOn.nameU()获取addon的名称,得到的是英文就没有比较的问题了。

    综上所述:
    1.Visio的导出路径不能包含中文;
    2.如果使用的是Visio2007,将类SysVisioAddin的方法getUmlAddon的addOn.Name()改为addOn.NameU().
  • 相关阅读:
    2021/3/16
    2021/3/15
    plist
    百度小程序更新管理
    uni-app v-for v-modal
    小程序中不能使用字符串模板吗
    条件编译
    百度app 和小程序版本关系
    uni-app 全局变量的几种实现方式
    canvas 换行处理
  • 原文地址:https://www.cnblogs.com/Farseer1215/p/996327.html
Copyright © 2011-2022 走看看