J'écris une application pour un périphérique exécutant Windows XP. Il existe 2 versions de l'appareil et chaque version possède sa propre API pour communiquer avec le logiciel de l'appareil. L'application que j'écris doit extraire les mêmes données de l'API. Ma question est de savoir comment écrire une application qui détectera au moment de l'exécution la version de l'appareil et utilisera l'API appropriée. J'ai compris comment lire le registre pour déterminer l'appareil.Modifier l'API de référence à l'exécution VB.NET 3.5
J'ai créé une interface contenant toutes les méthodes communes et également les classes pour chaque périphérique qui implémente l'interface. Maintenant, j'ai besoin de savoir comment activer le bon à l'exécution.
Public Interface IAPI
Sub InitializeMachine()
Function GetActiveProgram() As String
Function GetActiveGCodes() As String
Function GetCurrentBlockNumber() As Integer
''#etc...
End Interface
''#Mill API
Public Class CMAPI : Implements IAPI
Private ObjMachine As Okuma.CMDATAPI.DataAPI.CMachine
Private ObjPgm As Okuma.CMDATAPI.DataAPI.CProgram
Public Sub New()
End Sub
Public Function GetActiveGCodes() As String Implements IAPI.GetActiveGCodes
Try
Return ObjPgm.GetGCodes
Catch ex As Exception
Throw ex
End Try
End Function
Public Function GetActiveProgram() As String Implements IAPI.GetActiveProgram
Try
Return ObjPgm.GetActiveProgramName
Catch ex As Exception
Throw ex
End Try
End Function
Public Function GetCurrentBlockNumber() As Integer Implements IAPI.GetCurrentBlockNumber
Try
Return ObjPgm.GetCurrentBlockNumber
Catch ex As Exception
Throw ex
End Try
End Function
''#....
End Class
''#Lathe API
Public Class CLAPI : Implements IAPI
Private ObjMachine As Okuma.CLDATAPI.DataAPI.CMachine
Private ObjPgm As Okuma.CLDATAPI.DataAPI.CProgram
Public Sub New()
End Sub
Public Function GetActiveGCodes() As String Implements IAPI.GetActiveGCodes
Try
Return ObjPgm.GetGCodes
Catch ex As Exception
Throw ex
End Try
End Function
Public Function GetActiveProgram() As String Implements IAPI.GetActiveProgram
Try
Return ObjPgm.GetActiveProgramName
Catch ex As Exception
Throw ex
End Try
End Function
''#...
End Class
Pour votre test, vous voudrez peut-être regarder cette question: [http://stackoverflow.com/questions/18690669/best-method-for-initializling-the-okuma-api-if-i-want-a-program-that-works-for-b –