反向工程的問題

來源:互聯網
上載者:User
前段時間用過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().

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.