Figure 1   Visual Studio97 Contents

Product
Hard Drive Space
Min      Max
Included in
Professional Edition
Included in
Enterprise Edition
Visual Basic 5.0 Professional Edition 30MB 220MB

Visual Basic 5.0 Enterprise Edition 35MB 345MB
Visual C++ 5.0 Professional Edition 50MB* 274MB

Visual C++ 5.0 Enterprise Edition 50MB* 293MB
Visual J++ 1.1 Professional Edition 35MB 55MB
Visual InterDev 1.0 37MB 52MB
Visual FoxPro 5.0 15MB 190MB
MSDN Library 10MB 1GB
SQL Server 6.5 Developer Edition 80MB 95MB
Transaction Server 1.0 Developer Edition 11MB 23MB
Visual SourceSafe 5.0 8MB 16MB
* Typical install


Figure 7   MYMACROS.DSM


'------------------------------------------------------------------------------
'FILE DESCRIPTION: MYMACROS.DSM
'                  Macros written by Mary Kirtland
'------------------------------------------------------------------------------

'This is a modification of the FileType function in the sample macros
'Return value:  0 Unknown file type
'               1 C related file, this includes .c, .cpp, .cxx, .h, .hpp, .hxx
'               2 Java related file, this includes .jav, .java
'               3 ODL style, .odl, .idl
'               4 Resource file, .rc, .rc2
'               5 StyleSheet file: .css
'               6 HTML style file, this includes .html, And .htm
'               7 VBS style, .dsm
'               8 Def style, .def
'               9 ASP file: .asp, .asa
'USE: pass this function the document that you wish to get information for
Function FileType (ByVal doc)
	ext = doc.Name
	FileType = 0
	pos = Instr(ext, ".")
	if pos > 0 then
		Do While pos <> 1
			ext = Mid(ext, pos, Len(ext) - pos + 1)
			pos = Instr(ext, ".")
		Loop
		ext = LCase(ext)
	end if
	If ext = ".rc" Or ext = ".rc2" Then
		FileType = 4
   ElseIf ext = ".css" Then
      FileType = 5
   ElseIf ext = ".asp" Or ext = ".asa" Then
      FileType = 9
	ElseIf doc.Language = dsCPP Then
		FileType = 1
	ElseIf doc.Language = dsJava Then
		FileType = 2
	ElseIf doc.Language = dsIDL Then
		FileType = 3
	ElseIf doc.Language = dsHTML_IE3 Or doc.Language = dsHTML_IE2 Or _
			doc.Language = dsHTML_RFC1866 Then
		FileType = 6
	ElseIf doc.Language = dsVBSMacro Then 
		FileType = 7  
	ElseIf ext = ".def" Then
		FileType = 8
	Else 
		FileType = 0
	End If 
End Function

Sub InsertVSSHeader()
'DESCRIPTION: This macro adds a comment block with Visual SourceSafe keywords 
'             at the insertion point.

   Asterisk = Asc("*")
   Dash     = Asc("-")

   OpenComment  = ""  'Language specific token to open a comment block
   CloseComment = ""  'Language specific token to close a comment block
   LineComment  = ""  'Language specific token for each line in a comment block

   'Make sure the active document is a text window
   If ActiveDocument.Type = "Text" Then
      TypeOfFile = FileType(ActiveDocument)

      'figure out what comment tokens to use
      If TypeOfFile > 0 And TypeOfFile < 5 Then
         'C/C++, Java, IDL, and Resource Files
         OpenComment  = "/*" + String(63, Asterisk)
         CloseComment = String(63, Asterisk) + "*/"
         LineComment  = vbTab
      ElseIf TypeOfFile = 5 Or TypeOfFile = 6 Then
         'HTML and StyleSheet Files
         OpenComment  = "<!--" + String(61, Dash)
         CloseComment = String(62, Dash) + "-->"
         LineComment  = vbTab
      ElseIf TypeOfFile = 7 Then
         'VBS Files
         OpenComment  = "'" + String(64, Dash)
         CloseComment = "'" + String(64, Dash)
         LineComment  = vbTab + "'"
      ElseIf TypeOfFile = 8 Then
         'DEF Files
         OpenComment  = ";" + String(64, Dash)
         CloseComment = ";" + String(64, Dash)
         LineComment  = ";" + vbTab
      ElseIf typeOfFile = 9 Then
         'ASP Files
         OpenComment  = "<%" + vbLf + vbTab + "'" + String(59, Dash)
         CloseComment = vbTab + "'" + String(59, Dash) + vbLf + "%>"
         LineComment  = vbTab + "'"
      End If

      If TypeOfFile = 0 Then
         'Unrecognized File
         MsgBox("Unable to add comment header. Unrecognized file type")
      Else
         'Position the comment block above the current selection
         ActiveDocument.Selection.StartOfLine

         'Add comment block with one assignment statement so it 
         'can be removed with a single Undo command.
         ActiveDocument.Selection = _
            OpenComment + vbLf + _
            LineComment + "$Logfile:$" + vbLf + _
            LineComment + "$Author:$" + vbLf + _
            LineComment + "$Modtime:$" + vbLf + _
            LineComment + vbLf + _
            LineComment + "$Nokeywords$" + vbLf + _
            CloseComment + vbLf + vbLf
      End If

   End If
End Sub

Figure 9   Data Controls that Ship with Visual C++ Enterprise Edition

Control Type
Files
Remote Data
MSRDC32.OCX
MSRDO32.DLL
Apex Data-Bound Grid
DBGRID32.OCX
GRDKRN32.DLL
Microsoft Masked Edit
MSMASK32.OCX
MSDataList
DBLIST32.OCX
MSDataCombo
DBLIST32.OCX
Calendar
MSACAL70.OCX


Figure 14   Visual Studio Tools ActiveX Component Authoring Comparison

Capability
Visual
Basic
Visual
FoxPro
Visual
J++
Visual C++

ATL
MFC
ActiveX Components
Automation
Dual Interface


Events


UI Controls


Windowless Controls



Internet-Aware Controls


ActiveX Documents


Threading Models
Single Threaded

Apartment Model
*


Free Threaded




Both (Apt. + Free)



Packaging
In-Process
Executable
Service




* Only in Enterprise Edition when component marked as unattended (no UI)
† Using surrogate application