Thanks to Carlos for helping out...

And yes, one of the main-things to "get straight" first with RC5-usage is, that not all Classes of the RichClient are directly instantiatable per New-Operator
(some of them are - but those are mostly "early ones" - like the SQLite or Collection/Dictionary-classes, who made their way into the library already some years ago).

Though (as Carlos has pointed out already), *all* of the offered RC5-classes (as they are listed e.g. in the VB-ObjectExplorer) can
be instantiated over a Constructor-Helper, which is of type cConstructor and (in VB and VBA) always available per New_c.

@yogiyang
Your:
Code:
    Call vbRichClient5.cFSO.CopyFile("C:\Mytest.txt", "C:\MyTest001.txt")
can be simply changed to
Code:
    Call New_c.FSO.CopyFile("C:\Mytest.txt", "C:\MyTest001.txt")
As said, New_c is an "AutoObject" (a GlobalMultiUse-Class of Type cConstructor) which is available anywhere in your VB-Code without declaring it -
I named it New_c, to resemble the New-Operator which is normally used in VB, to create an Object-Instance.

E.g. the cSortedDictionary is a Class which can be instantiated "both ways":
Code:
    Dim D As cSortedDictionary
Normally per VBs New-Operator:
Code:
    Set D = New cSortedDictionary
or per New_c Constructor-Helper:
Code:
   Set D = New_c.SortedDictionary
I hope, the resemblance is obvious and now more easily understood - and I'd like to
encourage the usage of New_c throughout your whole project (instead of normal VB New-Operator),
because it is then much easier, to switch to regfree-mode - but it is also more convenient, since many
constructor-methods have Optional Parameters, which allow to specify certain "Intitial Properties" of the
Object which is about to be created - this saves some Lines of Code quite often.

And in case of the New_c.FSO-method ... this is a special case which hands out always the *same* instance -
so there's no call-overhead due to constantly re-instantiating a new cFSO-instance - you will get always the
same instance back - and thus don't need to buffer an FSO-instance in your own MyFSO-variable - so there's
no Dim Declaration necessary at all in this case.

This behaviour is not the default on most of the other Object-Instancings, the New_c (cConstructor) normally
hands out new created, fresh instances to you - but since the FSO is used quite often (and doesn't have internal state,
it's just a "Method-Namespace", so to say) - there was an exception made.

Long story short - anywhere in your code you'll have an already preinstantiated FSO-instance available at your fingertips -
(without Diming) and you can do direct calls as shown above: New_c.FSO.WhateverFileMethodYouNeedFromFSO

Olaf