2014-01-17 25 views
0

我嘗試爲TeamCenter 8的富客戶端自定義創建一個簡單的插件。 我已經發現如何運行(從java代碼)一個基於模式-QtBased的對話框Dll(帶導出c函數)。 但我不明白如何讓一個會話參數,用戶名等 我做一個演示插件與Eclipse並嘗試運行代碼(Java)的下面放置:[teamcenter]插件開發中的一個問題

public class SampleHandler extends AbstractHandler 
{ 
    //ctr 

    public Object execute(ExecutionEvent event) throws ExecutionException 
    { 
     //good, but useless 
     IWorkbenchWindow window = HandlerUtil.getActiveWorkbenchWindowChecked(event); 

     //wrong 
     AbstractAIFSession a = AIFUtility.getSessionManager().getDefaultSession(); 

     //wrong 
     AbstractAIFUIApplication app = AIFUtility.getCurrentApplication(); 
     TCSession session = (TCSession)app.getSession(); 

     //wrong 
     ISessionService iss = AifrcpPlugin.getSessionService(); 
     session = (TCSession)iss.getSession("com.teamcenter.rac.kernel.TCSession"); 
     // 
     return null; 
    } 
} 

這剪斷取自編譯良好的代碼,當我運行我的插件(F11進入Eclipse), 並嘗試在AIFUtility中調用某種方法時,AifrcpPlugin導致異常。

所以,能否請你解釋一下我的錯誤和顯示了一個相當不錯的方式來獲得用戶名等

回答

0
AbstractAIFSession session = AIFUtility.getCurrentApplication().getSession(); 
session.getUserName();session.getRegistry(); 
+0

請提供多一點的解釋提問。 –

+0

@PeterBratton:你說得對。但我自己只是這個編程API的初學者,只知道這個代碼片段來獲取當前會話。 –