Bonjour,
J'ai un problème qui se pose uniquement sur Win2000/XP.
Sous win98, ce problème ne se pose pas.
J'ai un controle ActiveX (composant COM écrit en C++).
J'ai un objet A (instance d'un interface C++ COM) que j'initialise en VB de la manière normal.
(dans cet exemple, InterfaceCOM est une classe de l'ActiveX)
Private Sub Test()
Dim A as InterfaceCOM
Dim B as InterfaceCOM
On Error Goto ErrorHandler
Set A = New InterfaceCOM
A.Nom = "test"
A.Prenom = "test"
'Affectation de la variable A dans la variable B
Set B = New InterfaceCOM
Set B = A
Exit Sub
ErrorHandler:
MsgBox Cstr(Err.Number), vbExclamation
End Sub
L'affectation ne pose donc aucun problème sous Win98.
Mais sous 2000/XP, j'ai une erreur Windows ("La mémoire ne peut pas être "written") et le programme se ferme violamment malgrès le gestionnaire d'erreur VB (On Error Goto...)
Comment puis-je faire pour affecter A dans B sans générer une erreur dans la RAM sous 2000/XP ? (dois-je écrire une méthode C++ dans mon composant ActiveX COM quio permet de copier un objet InterfaceCOM dans un autre) ?
Merci pour votre aide...