ciao a tutti, sto cercando di creare una DLL per fare delle stampe in ASP... premetto che sono nubbio del VB, quindi portate pazienza!

Il mio progetto l'ho diviso in una classe (che se ho capito bene poi sarà la mia DLL) e dei form (videate da stampare).
Per il momento il progetto è un EXE perchè volevo testarlo direttamente da VB.
Ora veniamo al codice (lungo, ma moooooolto semplice)
CLASSE Stampa:
codice:
Option Explicit

Private font As String
Private size As Integer
Private bold As Boolean
Private italic As Boolean
Private underline As Boolean
Private strikethru As Boolean

Private Sub Class_Initialize()
  font = "Arial"
  size = 10
  bold = False
  italic = False
  underline = False
  strikethru = False
End Sub

Public Function setFont(a)
 font = a
End Function

Public Function getFont()
 getFont = font
End Function

Public Function setSize(a)
 size = a
End Function

Public Function getSize()
 getSize = size
End Function

Public Function setBold(a)
 bold = a
End Function

Public Function getBold()
 getBold = bold
End Function

Public Function setItalic(a)
 italic = a
End Function

Public Function getItalic()
 getItalic = italic
End Function

Public Function setUnderline(a)
 underline = a
End Function

Public Function getUnderline()
 getUnderline = underline
End Function

Public Function setStrikethru(a)
 strikethru = a
End Function

Public Function getStrikethru()
 getStrikethru = strikethru
End Function

Public Sub stampaTesto(testo)
 Dim ritorno
 If font = Empty Then
  font = "Arial"
  size = 10
  bold = False
  italic = False
  underline = False
  strikethru = False
 End If
 Printer.FontName = font
 Printer.FontSize = size
 Printer.FontBold = bold
 Printer.FontItalic = italic
 Printer.FontStrikethru = strikethru
 Printer.Print testo
 Printer.EndDoc
End Sub

Public Sub stampaEtichetta(a, b, c, d, e, f, g, h, i)
 Etichetta.Label10.Caption = a
 Etichetta.Label11.Caption = b
 Etichetta.Label12.Caption = c
 Etichetta.Label13.Caption = d
 Etichetta.Label14.Caption = e
 Etichetta.Label15.Caption = f
 Etichetta.Label16.Caption = g
 Etichetta.Label17.Caption = h
 Etichetta.Label18.Caption = i
 Etichetta.PrintForm
End Sub
Il primo form si chiama etichetta ed ha solo delle label.
Il secondo si chiama test ed ha un menu a tendina (visualizza le stampanti) ed un bottone per avviare la stampa. Ecco il codice
codice:
Dim akka As Stampa

Private Sub bottone_Click()
 Dim X As Printer
 For Each X In Printers
  If X.DeviceName = test.tendina.Text Then
   ' Imposta la stampante come predefinita di sistema.
   Set Printer = X
   Exit For
  End If
 Next
 akka.stampaTesto ("ciao")
End Sub

Private Sub Form_Load()
 With test
  Dim X As Printer
  For Each X In Printers
   .tendina.AddItem X.DeviceName
  Next
   .tendina.ListIndex = 0
 End With
End Sub
Il problema da nubbio è che mi da errore quando richiamo una qualsiasi funzione della classe stampa:
codice:
errore di run-time '91'
variabile oggetto o variabile del blocco With non impostata
L'errore me lo da su akka.stampaTesto ("ciao")
Potete aiutarmi?