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:Il primo form si chiama etichetta ed ha solo delle label.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 secondo si chiama test ed ha un menu a tendina (visualizza le stampanti) ed un bottone per avviare la stampa. Ecco il codice
Il problema da nubbio è che mi da errore quando richiamo una qualsiasi funzione della classe stampa: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 SubL'errore me lo da su akka.stampaTesto ("ciao")codice:errore di run-time '91' variabile oggetto o variabile del blocco With non impostata
Potete aiutarmi?

Rispondi quotando