加密導致自定義地圖創建腳本失敗?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />我正在JMP 10中編寫一個程序,其中一個完整的組件是自動生成三個文件* -XY.jmp,* -Name.jmp和* -Data.jmp,它們是使用Graphbuilder在Graphbuilder中定義地圖形狀所必需的。自定義地圖創建者地址。* -Data.jmp文件中的“形狀名稱使用”映射角色似乎需要* -Name.jmp文件的絕對文件路徑位置,所以我將它保存在“$ TEMP \”目錄中的數據表中然後在* -Data.jmp文件的Map Role屬性中引用它的位置。它已經完美地工作了好幾週,沒有任何問題。
現在程序的其餘部分已準備好進行第一次測試版發布,我加密了代碼,準備將其發送給測試組成員。既然程序已加密,它找不到我保存的* -Name.jmp文件,從而顯示一堆空白的白色圖形構建器窗口,並顯示消息“未找到地圖形狀:<所有形狀的列表> “在每一個下面。我已經驗證了文件仍然在正確的位置創建,就像以前一樣,如果我為其中一個空圖打開數據表並查看Name列的map role屬性,它會列出那里文件的正確位置。但由於某些原因,我不能讓它實際顯示地圖形狀而不解密腳本文件。
如果有人有任何關於為什麼會發生這種情況的猜測,如何解決它,或者如果有任何其他方法將* -Data.jmp文件指向沒有絕對路徑的* -Name.jmp文件,請讓我知道。
Re:加密導致自定義地圖創建腳本失敗?好的,我找到了正確方向的一步。有兩個主要腳本:一個是GUI,它調用主要的“make stuff happen”函數來創建自定義地圖。我製作了一個包含兩個主要文件的插件,並更改了代碼,以便在程序的addin文件夾中創建任何其他文件。GUI腳本文件可以很好地加密,並且仍然可以正常讀寫其他文件。但是,如果沒有原始帖子中描述的缺少地圖形狀問題,則無法加密主函數腳本中的代碼。
然後我注意到,僅使用加密腳本,* -Name.jmp文件將“名稱”列分配為“地圖角色”屬性,但/未指定/將其指定為“形狀名稱定義”,它剛剛離開它一片空白。這可以解釋原因即使地圖角色“Shape Name Use”正在查看正確的文件路徑並且文件是在正確的位置生成,更改位置似乎也沒有幫助。未加密的腳本指定角色就好了。關於如何使這項工作的任何想法?該程序製作了一堆地圖,因此需要按順序完成,而不是事後。也許製作一個自定義函數或只是取出一行代碼並將其粘貼在一個單獨的未加密文件中並將其包含在正確的位置?如果解密正在改變代碼,這有點奇怪。
作為旁注,是 $ ADDIN_HOME 在JMP 9中可用?我相信在JMP 8中引入了插件,但我想確保JMP 9 JSL解釋器能夠理解這一點。
Re:加密導致自定義地圖創建腳本失敗?不確定它是否可行,但您是否嘗試過為您的應用程序使用插件?您可以將數據集放入addin目錄,並通過addin“logical”名稱引用它們。 例如,如果您的插件是由(com.abc.def.myapp)定義的,那麼您可以像這樣使用它:
DT = 打開 ( “$ ADDIN_HOME(com.abc.def.myapp)\ AAA-XY.jmp” ) ;