Certaines des sources que j'ai vérifié déjà: http://www.experts-exchange.com/Programming/Languages/.NET/Visual_Basic.NET/Q_23359339.html
http://mygreenpaste.blogspot.com/2006/03/net-framework-20-configuration-tool.html
http://support.microsoft.com/kb/186063VB6 Erreur d'automatisation sur les appels à .NET 3.5 Assemblées Après les premiers appels
que je développe occupé des modules .NET qui accrochera dans notre code VB6 existant. J'ai créé un projet VB6 de test à partir duquel lancer le nouveau code qui comprend d'une forme avec un bouton, et est
Dim launcher As New VB6InteropLaunchPad.launcher
launcher.FormTypeEnum = FormTypeEnum_MySpecificForm
launcher.launchAppropriateForm
événement click du bouton Il réussit la première fois que je clique sur le bouton. Toutefois, si je clique sur le bouton à nouveau, je reçois l'erreur suivante:
Run-time error '-2146233079 (80131509)': Automation Error
Les appels suivants du code .NET échoue avec le même message d'erreur à moins que je fermer et redémarrer l'IDE. Si je compile le projet VB6 à un EXE, la même chose se produit. Je dois fermer l'EXE et le réexécuter pour pouvoir accéder au code .NET.
J'ai essayé la suggestion http://support.microsoft.com/kb/186063 et a fait ce qui suit: Option Explicit
' http://support.microsoft.com/kb/186063
Const FORMAT_MESSAGE_FROM_SYSTEM = &H1000
Private Declare Function FormatMessage Lib "kernel32" Alias _
"FormatMessageA" (ByVal dwFlags As Long, lpSource As Long, _
ByVal dwMessageId As Long, ByVal dwLanguageId As Long, _
ByVal lpBuffer As String, ByVal nSize As Long, Arguments As Any) _
As Long
Private Function MessageText(lCode As Long) As String
Dim sRtrnCode As String
Dim lRet As Long
sRtrnCode = Space$(256)
lRet = FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM, 0&, lCode, 0&, _
sRtrnCode, 256&, 0&)
If lRet > 0 Then
MessageText = Left(sRtrnCode, lRet)
Else
MessageText = "Error not found."
End If
End Function
On Error GoTo errHandler
Dim launcher As New VB6InteropLaunchPad.launcher
launcher.FormTypeEnum = FormTypeEnum_MySpecificForm
launcher.launchAppropriateForm
Exit Sub
errHandler:
MsgBox MessageText(Err.Number)
MsgBox Err
mais l'erreur n'a pas été trouvé.
Des idées pour résoudre ce problème? J'ai essayé de set launcher = Nothing
mais ça n'aide pas.
Merci les gars.
Merci M. Pratt! S'il vous plaît voir mon commentaire complet au bas de la page. – AndrewJacksonZA