Dim o As Object = [Assembly].Load("Util").CreateInstance("Util") o.GetType().InvokeMember("Test", _ BindingFlags.DeclaredOnly Or BindingFlags.Public Or BindingFlags.NonPublic Or BindingFlags.Static Or BindingFlags.InvokeMethod, _ Nothing, Nothing, Nothing)
Jeg få en fejl ved CreateInstance "MissingMethodException" ?
Måske findes der en anden metode. Jeg har prøvet at add dll til references og sat copy local til false. Det hele virker når jeg køre mit program. Det eneste jeg gerne vil, er fortælle mit program hvor dll filen er placeret.
Hej Her er min code men jeg tror jeg gør noget forkert i forhold til dll. Jeg ville også gerne havde postet dll, men man kan jo ikke ved hæfte filer her inde eller hvad?
jeg håber at du kan hjælpe mig.
Dim m_Ticket As String Dim m_UserId As Long
'hvis dll er add manuel i Referencers henter flg. ud af dll If Connectivity.InventorAddin.EdmAddin.EdmSecurity.Instance.IsSignedIn = False Then m_host = Connectivity.InventorAddin.EdmAddin.EdmSecurity.Instance.GetEdmSecurityContext.RemoteHost m_Ticket = Connectivity.InventorAddin.EdmAddin.EdmSecurity.Instance.GetEdmSecurityContext.Ticket m_UserId = Connectivity.InventorAddin.EdmAddin.EdmSecurity.Instance.GetEdmSecurityContext.UserID End If
' Dynamisk load af dll Dim asm As System.Reflection.Assembly Dim t As Type() Dim ty As Type Dim m As MethodInfo() Dim mm As MethodInfo
Dim Dll_location As String = oApp.InstallPath & "\Bin\" Dim o As Object asm = System.Reflection.Assembly.LoadFrom(Dll_location & "Connectivity.InventorAddin.EdmAddin.dll") ty = asm.GetType("Connectivity.InventorAddin.EdmAddin.EdmSecurity") m = ty.GetMethods For j As Integer = 0 To m.Length - 1 If m(j).Name = "IsSignedIn" Then MsgBox(m(j).ToString) End If Next j o = Activator.CreateInstance(ty) ' det er her der kommer fejl
MsgBox(ty.GetType.InvokeMember("IsSignedIn", BindingFlags.DeclaredOnly Or BindingFlags.Public Or BindingFlags.NonPublic Or BindingFlags.Static Or BindingFlags.InvokeMethod, Nothing, Nothing, Nothing))
Jeg tror det lige gik stækt nok, med at få poste kommentar. jeg tror ikke jeg har forstået, det du mener med at klasser skal angives. jer har lige oploaded dllen. Hvis du har tid kan du jo lige kigge på den.
Nu har jeg fået fat i Instance, men hvordan får jeg fat i instansens properties?
Dim asm As System.Reflection.Assembly Dim ty As Type Dim m As PropertyInfo() Dim x As PropertyInfo Dim Dll_location As String = oApp.InstallPath & "\Bin\" asm = System.Reflection.Assembly.LoadFrom(Dll_location & "Connectivity.InventorAddin.EdmAddin.dll") ty = asm.GetType("Connectivity.InventorAddin.EdmAddin.EdmSecurity") m = ty.GetProperties For j As Integer = 0 To m.Length - 1 If m(j).Name = "Instance" Then x = m(j) End If Next j
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.