dionys0s
XLDnaute Impliqué
Bonjour le forum,
avant de poser ma question, voici quelques "données" :
Soit le code de ma classe "cls_FSO" suivant :
Puis voici le code appelant cette classe :
Comme on voit dans le code appelant, la classe n'est pas utilisée par une variable dimensionnée "proprement", mais juste instanciée à l'aide de With New ... puis "détruite" avec "End With" : en effet, si j'exécute la macro en pas à pas détaillé (F8), en passant sur "End With", ça déclenche la Sub Class_Terminate de la classe. J'en déduis donc qu'elle est détruite "correctement".
Ma question est la suivante : en est-il de même avec les objets natifs ? Dans le code suivant, peut on considérer l'objet créé comme proprement "détruit" après exécution ?
D'avance merci pour vos réponse !
Bonne journée à tous,
dionys0s
avant de poser ma question, voici quelques "données" :
Soit le code de ma classe "cls_FSO" suivant :
VB:
Option Explicit
Private mscrFSO As Scripting.FileSystemObject
Private Sub Class_Initialize()
Set mscrFSO = New Scripting.FileSystemObject
End Sub
Private Sub Class_Terminate()
Set mscrFSO = Nothing
End Sub
Puis voici le code appelant cette classe :
VB:
Public Function UneFonction(ByRef UnArgument As String) As Boolean
With New cls_FSO
'du code
End With
End Function
Comme on voit dans le code appelant, la classe n'est pas utilisée par une variable dimensionnée "proprement", mais juste instanciée à l'aide de With New ... puis "détruite" avec "End With" : en effet, si j'exécute la macro en pas à pas détaillé (F8), en passant sur "End With", ça déclenche la Sub Class_Terminate de la classe. J'en déduis donc qu'elle est détruite "correctement".
Ma question est la suivante : en est-il de même avec les objets natifs ? Dans le code suivant, peut on considérer l'objet créé comme proprement "détruit" après exécution ?
VB:
Public Function IsFolder(ByRef FullName As String) As Boolean
With New Scripting.FileSystemObject
On Error Resume Next
Let IsFolder = Not IsError(.GetFolder(FullName))
On Error GoTo 0
End With
End Function
D'avance merci pour vos réponse !
Bonne journée à tous,
dionys0s