Thanks Memnoch that was helpful. Here is an example of some vb6.0 code i don't completely understand to help you see my problem.

VB Code:
  1. 'Declarations Section
  2. Dim CDPath As String
  3. Dim FSO As New Scripting.FileSystemObject
  4. Dim DRV As Drive                               'A generic drive type
  5. Dim X As Integer
  6.  
  7.  
  8. X = 0 'initiate x
  9.  
  10. 'checks the Drives for CD-ROMs
  11. For Each DRV In FSO.Drives
  12.    If DRV.DriveType = CDRom Then
  13.      CDPath = DRV.Path      'gets the drive letter
  14.      'Debug.Print CDPath
  15.       X = X + 1
  16.       ReDim Preserve gsCDdrive(X)
  17.       gsCDdrive(X) = CDPath    'stores letter and number of drives
  18.  
  19.      'Debug.Print gsCDdrive(x)
  20.    End If
  21. Next DRV  'This generic drive becomes nothing after going through all the drives

How is DRV being used? All the comments are mine. I would say that the DRV is empty but evidently it is something. i just don't understand WHY this works. A datatype by itself does nothing. What is the difference between DRV=Nothing and DRV = some type of drive. Evidently it reads it in the above code as some type of drive, but it equals nothing. is For each drv in FSO.drive a type of assignment? I only know of one type of assignment operator.