現在、ALM 11.52とALM 12.21の両方を使用しています。一部のプロジェクトが11.52にあり、一部が12.21にあるので、ALMバージョン9で実行する必要があるExcel vbaマクロがあります。しかし、ALM 11.52にあるプロジェクトに接続しようとすると、OTAバージョン(12.21)がALMサーバーバージョン11.52と互換性がないというエラーメッセージが表示されます。 OTAの互換性の問題を解決する方法はありますか?OTAバージョン12.21とALMバージョン11.52の互換性の問題
0
A
答えて
0
わかりやすくするために、VBAはシステムワイドレベルでOTA registedを使用しています。この場合、1つのクライアントしか登録できませんでした。 もちろん、2人の異なるクライアントと同じプロセスで作業しないでください。しかし、これが必要な場合は、ALMによって提供されるサイド・バイ・サイド・マニフェストをロードする必要があります。 デフォルトでは、フォルダ %LOCALAPPDATA%\ HP \ ALM-ClientにあるALMクライアント。 Deployments.iniファイルでは、ALMクライアントがどこに配置されているかを見つけることができます(ALM URLまたはバージョンに依存します) ファイルapplication.sxs.manifestを使用して、必要なアクティベーションコンテキストをアクティブ化できます。サンプルコードは次のとおりです。
Private Declare Function CreateActCtx Lib "kernel32" Alias "CreateActCtxA" (ByRef pActCtx As ACTCTX_) As Long
Private Declare Sub ReleaseActCtx Lib "kernel32" (ByVal hActCtx As Long)
Private Declare Function ActivateActCtx Lib "kernel32" (ByVal hActCtx As Long, ByRef lpCookie As Long) As Integer
Private Declare Function DeactivateActCtx Lib "kernel32" (ByVal dwFlags As Long, ByVal ulCookie As Long) As Boolean
Private Declare Function GetLastError Lib "kernel32"() As Long
Declare Sub SetLastError Lib "kernel32.dll" (ByVal dwErrCode As Long)
Private Type ACTCTX_
cbSize As Long
dwFlags As Long
lpSource As String
wProcessorArchitecture As Integer
wLangId As Integer
lpAssemblyDirectory As String
lpResourceName As String
lpApplicationName As String
hModule As Long
End Type
Private actctx As ACTCTX_
Private hActCtx As Long
Private actCtxCookie As Long
Const ACTCTX_FLAG_ASSEMBLY_DIRECTORY_VALID As Long = 4
Const INVALID_HANDLE_VALUE As Long = -1
Const CREATE_CONTEXT_ERROR As Long = 1
Const ACTIVATE_CONTEXT_ERROR As Long = 2
Public Sub ActivateOtaContext(ByVal almClientDeploymendPath As String)
Dim actctx As ACTCTX_, ativated As Integer
If Right(almClientDeploymendPath, 1) = "\" Then
almClientDeploymendPath = Left(almClientDeploymendPath, Len(almClientDeploymendPath) - 1)
End If
actctx.cbSize = Len(actctx)
actctx.dwFlags = ACTCTX_FLAG_ASSEMBLY_DIRECTORY_VALID
actctx.lpAssemblyDirectory = almClientDeploymendPath
actctx.lpSource = almClientDeploymendPath & "\application.sxs.manifest"
hActCtx = CreateActCtx(actctx)
If hActCtx = INVALID_HANDLE_VALUE Then
Err.Raise vbObjectError + CREATE_CONTEXT_ERROR, , "Cannot create activation context. Error code: " + GetLastError
End If
If ActivateActCtx(hActCtx, actCtxCookie) <> 1 Then
Err.Raise vbObjectError + ACTIVATE_CONTEXT_ERROR, , "Cannot activate context. Error code: " + GetLastError
End If
End Sub
Public Sub DeactivateOtaContext()
If actCtxCookie > 0 Then
Call DeactivateActCtx(0, actCtxCookie)
actCtxCookie = 0
End If
If hActCtx > 0 Then
Call ReleaseActCtx(hActCtx)
End If
End Sub
Sub Test()
Dim tdConnection As ITDConnection10
Dim AlmClientsBasePath As String
AlmClientsBasePath = Environ("LocalAppData") + "\HP\ALM-Client"
ActivateOtaContext AlmClientsBasePath + "\alm1221"
Set tdConnection = CreateObject("TDApiOle80.TDConnection")
tdConnection.InitConnectionEx "http://alm1221.company.net/qcbin/"
tdConnection.LoginEx "user1", "pwd1"
tdConnection.Logout
tdConnection.ReleaseConnection
Set tdConnection = Nothing
DeactivateOtaContext
ActivateOtaContext AlmClientsBasePath + "\alm115"
Set tdConnection = CreateObject("TDApiOle80.TDConnection")
tdConnection.InitConnectionEx "http://alm.company.net/qcbin/"
tdConnection.LoginEx "user2", "pwd2"
tdConnection.Logout
tdConnection.ReleaseConnection
Set tdConnection = Nothing
DeactivateOtaContext
End Sub
関連する問題
- 1. Javaバージョンの互換性の問題
- 2. .NETバージョンの互換性の問題
- 3. Kinect SDKバージョン互換性問題
- 4. 移行後にテストが遅くなるALM 11.52〜12.21
- 5. トーチと他の古いバージョンの互換性の問題
- 6. 互換性のないバージョン
- 7. iosのバージョン互換性
- 8. C#バージョンの互換性
- 9. 3.7とのcassandraバージョンの互換性?
- 10. SparkとHbase-clientのバージョンの互換性
- 11. ブートストラップのバージョンとブラウザの互換性
- 12. JavaバージョンとのCacertsの互換性
- 13. Prism 6の旧バージョンとの互換性
- 14. ElasticSearchとKibanaのバージョンの互換性
- 15. スパークとHBaseのバージョンの互換性
- 16. アプリケーションエンハンサとのバージョン互換性エラー
- 17. JdeveloperとWeblogicのバージョン互換性
- 18. DNNパッケージ(モジュール)と旧バージョンの互換性
- 19. WebSocketのバージョンと下位互換性
- 20. .NET Frameworkとバージョンの互換性
- 21. LuceneとSolr間のバージョン非互換性
- 22. protobufバージョン間のデータフォーマットの互換性
- 23. 互換性のないライブラリのバージョン
- 24. Thriftバージョン間のデータフォーマットの互換性
- 25. ライブラリのバージョン間のスウィフト互換性
- 26. Berkley DBファイルのバージョン間の互換性
- 27. ルビー:互換性のないライブラリのバージョン
- 28. ICUのバージョン互換性のSymfony 3.1
- 29. Lucene - Solrのバージョンの互換性
- 30. 互換性のないバージョンでクロスコンパイル