Имам неколку постапки што го користат FileSystemObject. Сметам дека е доста погодно.
Прашање: Дали е разумно да се пренесе постоечка инстанца на FileSystemObject од „главна“ постапка на овие други постапки како аргумент, наместо секоја постапка да креира своја инстанца на FileSystemObject?
Пример: дали е подобро во каков било начин да го сторам тоа:
Sub MainSub()
Dim FSO : Set FSO = CreateObject("Scripting.FileSystemObject")
Call OtherSub(FSO, myargs)
' call other subs and functions that use FileSystemObject
End Sub
Sub OtherSub(FSO, myargs)
' Do stuff with FSO
' call other subs and functions that use FileSystemObject
End Sub
што сум видел како го прави барем еден програмер, наместо следново, што е она што обично го правам:
Sub MainSub()
Dim FSO : Set FSO = CreateObject("Scripting.FileSystemObject")
Call OtherSub(myargs)
' call other subs and functions that use FileSystemObject
End Sub
Sub OtherSub(myargs)
Dim FSO : Set FSO = CreateObject("Scripting.FileSystemObject")
Call OtherSub(myargs)
' Do stuff with FSO
' call other subs and functions that use FileSystemObject
End Sub
Јас можам да ја видам идејата за правење на претходното со тоа што ова потенцијално ги намалува општите трошоци поврзано со постоење повеќе примери на FileSystemObject. Но, се чини страшно незгодно да треба секој пат да се помине FSO како аргумент. И сериозно, дали главната глава е толку голема?