VBScript Class objects (typically referred to as simply classes) and VBScript COM objects differ from each other in several important respects. These differences lead to each type of object having its unique strengths:
- VBScript classes are more flexible than VBScript COM objects. Classes have an abstract subtype that encapsulates the data you want and the functions you need to work with that data. VBScript COM objects have only basic subtypes.
- VBScript classes are slightly more efficient than COM objects. The VBScript parser can execute the classes' code directly instead of asking the COM object to execute a method.
- COM objects are binary modules. VBScript classes are ASCII files, which makes the classes' code available to everyone.
- You can use any scripting language to write COM objects. You can only use VBScript to write VBScript classes.
- You can use COM objects from within any development environment that supports COM automation, including Windows Scripting Host (WSH), Microsoft Internet Explorer (IE), Microsoft Internet Information Server (IIS), Microsoft Visual Studio (VS), Delphi, C++ Builder, and PowerBuilder. You can use VBScript classes from within any development environment that lets you import external VBScript files. Currently, only WSH 2.0 and Active Server Pages (ASP) let you import external VBScript files. (You can use VBScript classes with WSH 1.0. However, you need to cut and paste the class source code into any script that will use the classes.)