Autore Topic: [Risolto] Problema con PdfWriter  (Letto 1182 volte)

Offline Franco_da_vc

  • Grande Gambero
  • ***
  • Post: 208
  • Non è mai troppo tardi!
    • Mostra profilo
[Risolto] Problema con PdfWriter
« il: 15 Settembre 2017, 19:07:04 »
Ciao a tutti,

ho iniziato a sperimentare PdfWriter e devo dire che come al solito il diavolo non è mai brutto come lo si dipinge, ora ho due copie della routine una normale ed una che ho provato a modificare con esito positivo, a questo punto ho proceduto ad inglobare le routine come da quanto scritto nel documento accompagnatorio, ho quindi importato PdfWriter.class, PrintPdf.form, PrintPdf.class e PdfWriterFont.class.

Lo strano è che facendo partire l'interprete di prova ottengo alla riga Dim cmp As New Compress in PdfWriter.class questo errore: Unknown identifier: Compress in PdfWriter.class; questa problematica si verifica solo nel programma scritto da me e non in in PdfWriter ne originale ne in quello modificato.

Qualcuno ne sa qualcosa?

Ciaoooo  :ciao:
« Ultima modifica: 15 Ottobre 2017, 20:18:39 da Franco_da_vc »
Bye by Afo

Offline milio

  • Senatore Gambero
  • ******
  • Post: 1.252
  • Chi parla poco dice tanto...
    • Mostra profilo
Re:Problema con PdfWriter
« Risposta #1 il: 15 Settembre 2017, 22:28:00 »
Dovresti verificare quali sono i componenti attivati nel progetto originale

Offline Franco_da_vc

  • Grande Gambero
  • ***
  • Post: 208
  • Non è mai troppo tardi!
    • Mostra profilo
Re:Problema con PdfWriter
« Risposta #2 il: 16 Settembre 2017, 14:40:21 »
Grazie Milio,

era proprio quello il problema, il mio progetto non aveva il componente gb.compress e molti altri che ho provveduto ad attivare, ora però mi da un secondo errore in questa linea:
Codice: [Seleziona]
hPdf.Open(MyReport)
e l'errore è Null object in PrintPdf:29.

Cosa potrà essere, come ho detto il problema si presenta solo nella mia suite.

Vi ringrazio ancora. Ciaooooo  :ciao:
Bye by Afo

Offline Franco_da_vc

  • Grande Gambero
  • ***
  • Post: 208
  • Non è mai troppo tardi!
    • Mostra profilo
Re:Problema con PdfWriter
« Risposta #3 il: 16 Settembre 2017, 15:53:13 »
Grazie Milio,

era proprio quello il problema, il mio progetto non aveva il componente gb.compress e molti altri che ho provveduto ad attivare, ora però mi da un secondo errore in questa linea:
Codice: [Seleziona]
hPdf.Open(MyReport)
e l'errore è Null object in PrintPdf:29.
Fermi tutti, era solo una mia cappella, ci ho rimuginato un po sopra ed ho trovato cosa non andava.

Vi ringrazio in ogni caso! Ciaooooo  :ciao:
« Ultima modifica: 17 Settembre 2017, 20:25:46 da Franco_da_vc »
Bye by Afo

Offline Franco_da_vc

  • Grande Gambero
  • ***
  • Post: 208
  • Non è mai troppo tardi!
    • Mostra profilo
Re:Problema con PdfWriter
« Risposta #4 il: 17 Settembre 2017, 20:35:21 »
Riddaje,

Altro errore, questa volta non so però da cosa possa dipendere, l'errore si verifica in PrintPdf.class, alla riga 47:
Codice: [Seleziona]
Me.cbFormato.Index = 1
L'errore ottenuto è: Unknown symbol cbFormato in class container in PrintPdf:47.

Per onor del vero bisogna dire che nel mio programma richiamo il processo di stampa da questa linea:
Codice: [Seleziona]
PrintPdf.Run("DDTNormale", ["portrait", "mm", "A4"])
ove DDTNormale è la classe da dove dovrei stampare la bolla ottenuta importando e modificando (non ancora completamente) la classe PDFDDT.class del pacchetto PdfWriter, mentre la riga riportata è stata riprese dalla classe Principale.class relativa al bottone 12
Codice: [Seleziona]
Public Sub Button12_Click()
PrintPdf.Run("PDFDDT", ["portrait", "mm", "A4"])
End
sto pensendo che prima di dare un simile ordine ci sia da compiere qualche azione, ma in Principale, che tra l'altro è la classe di avvio del pacchetto non trovo niente tranne i 14 bottoni ed un Form_Open che serve ad aprire il form di esempio.

Ringrazio per la pazienza ed attendo chiarimenti.
Ciaoooooo  :ciao:
« Ultima modifica: 17 Settembre 2017, 20:57:24 da Franco_da_vc »
Bye by Afo

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.114
  • Tonno verde
    • Mostra profilo
Re:Problema con PdfWriter
« Risposta #5 il: 18 Settembre 2017, 10:02:25 »
Gambas ti sta dicendo che nella finestra in cui stai lavorando (Me) non c'è la Combo cbFormato.
Se per caso tu stai richiamando questo codice da altra classe occorre cambiare Me col nome della finestra richiamata.
 :ciao:
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline Franco_da_vc

  • Grande Gambero
  • ***
  • Post: 208
  • Non è mai troppo tardi!
    • Mostra profilo
Re:Problema con PdfWriter
« Risposta #6 il: 21 Settembre 2017, 21:19:27 »
Okay boys,

PdfWriter ha finalmente emesso i suoi primi vagiti, funziona!

L'unica cosa che ancora non mi soddisfa e che il codice che funziona è quello della stampa diretta e non quello dell'anteprima: se avete presente l'interfaccia del pacchetto dimostrativo il pulsante più grosso dovrebbe essere la stampa diretta (intendiamoci si apre Okular) e corrisponde a questo codice:
Codice: [Seleziona]
Dim pdf As PDFDDT
  With pdf = New PDFDDT("portrait", "mm", "A4")
        .Open()
        .AliasNbPages()
        .Data()
        .Output("/tmp/report.pdf", False)
  End With

Desktop.Open("/tmp/report.pdf")
Mentre il secondo pulsante, più piccolo e con tre puntini apre un preview del documento con un'interfaccia che a me piace molto, attraverso a quest'ultima si può operare in vari modi, questo pulsante corrisponde a questo secondo codice:
Codice: [Seleziona]
PrintPdf.Run("PDFDDT", ["portrait", "mm", "A4"])
che a prima vista anche a me pare un po poco, ma nel pacchetto originale funziona, il problema e che non fa altrettanto se importato nel mio programma  :'(, pare mancare qualcosa, ma non capisco cosa, comunque finalmente la sperimentazione può andare avanti perché ora posso trasmigrare la mia bolla sulla nuova procedura, però prima o poi vorrei farlo con il secondo codice che come ho detto prima, mi piace di più, qualcuno può darmi una mano?

Grazie a tutti!
Ciaooooo :ciao:
Bye by Afo

Offline Golia

  • Senatore Gambero
  • ******
  • Post: 1.298
  • no xe mai massa tardi
    • Mostra profilo
Re:Problema con PdfWriter
« Risposta #7 il: 22 Settembre 2017, 17:40:56 »
Ciao
è da tanto che non ci metto mano, se alleghi un'esempio di quello che devi fare posso provare a vedere se mi torna in mente qualcosa  :)

Offline Golia

  • Senatore Gambero
  • ******
  • Post: 1.298
  • no xe mai massa tardi
    • Mostra profilo
Re:Problema con PdfWriter
« Risposta #8 il: 22 Settembre 2017, 18:30:12 »
Petta che mi tornano in mente antichi scritti!  :D :D
PrintPDF è un form che ho fatto io, si è sufficente ...PrintPdf.Run("PDFDDT", ["portrait", "mm", "A4"])....
Nome della classe di stampa e impostazioni di misura.
Casomai come detto prima allega qualcosa che vediamo dove non funziona.

Ciao

Offline Golia

  • Senatore Gambero
  • ******
  • Post: 1.298
  • no xe mai massa tardi
    • Mostra profilo
Re:Problema con PdfWriter
« Risposta #9 il: 22 Settembre 2017, 19:03:10 »
forse ho intuito.
Nella classe di stampa che hai creato non devi omettere anche se non usi, le tre opzioni
Citazione
Public Function Data(Optional data1 As Variant[], Optional data2 As Variant, Optional data3 As Variant)

Offline Franco_da_vc

  • Grande Gambero
  • ***
  • Post: 208
  • Non è mai troppo tardi!
    • Mostra profilo
Re:Problema con PdfWriter
« Risposta #10 il: 22 Settembre 2017, 20:38:27 »
Grazie Golia,

forse ho intuito.
Nella classe di stampa che hai creato non devi omettere anche se non usi, le tre opzioni
Citazione
Public Function Data(Optional data1 As Variant[], Optional data2 As Variant, Optional data3 As Variant)

Dunque, fammi capire: il mio codice che porta alla stampa del documento è, anche se per ora molto scarno ed incompleto:
Codice: [Seleziona]
Public Sub ButtonStampaNorm_Click()

'  SceltaStampante.Show
  STAMPA_NORMALE()

End

Public Procedure STAMPA_NORMALE()
'#################################################################### Procedura di stampa di un D.D.T. (NON FACIT)#####
  Dim sw_stampa As Boolean '##### Switch stampa                                                                   #####
  Dim lin As Integer '##### Contatore di linea                                                                    #####
  Dim filler$ As String '##### Comodo per contenere gli spazi prima di una stampa                                 #####
  Dim lung As Integer '##### Variabile per immagazzinare la lunghezza di una stringa                              #####
  Dim var1$ As String '##### Variabile trasporto numero di capi                                                   #####
  Dim var2$ As String '##### Variabile trasporto tipo capo                                                        #####
  Dim var3$ As String '##### Variabile di trasporto -= campo vuoto =-                                             #####
  Dim var4$ As String '##### Variabile di trasporto tipo lavorazione                                              #####
  Dim var5$ As String '##### Variabile di trasporto prezzo totale lavorazione                                     #####
  Dim var6$ As String '##### Variabile di trasporto prezzo netto totale lavorazione                               #####
  Dim var7$ As String '##### Variabile di trasporto iva totale lavorazione                                        #####

'######################################################################################################################
'##### D.D.T. per negozi "NORMALI"                                                                                #####
'#####                                                                                                            #####
'##### visual$(0) ===> Numero di capi                                                                             #####
'##### visual$(1) ===> Tipo capo                                                                                  #####
'##### visual$(2) ===> Empty                                                                                      #####
'##### visual$(3) ===> Tipo lavorazione                                                                           #####
'##### visual$(4) ===> Prezzo                                                                                     #####
'#####                                                                                                            #####
'######################################################################################################################

  PrintPdf.Run("DDTNormale", ["portrait", "mm", "A4"])
End
dopo di cui le routine sono quelle originali di PdfWriter, anche la routine DDTNormale che vedi nel richiamo a PrintPdf.run non è altri che PDFDDT del pacchetto originale rinominata perchè il programma che sto traducendo deve poter fare stampare due tipi di bolle diverse, quindi
Codice: [Seleziona]
Public Function Data(Optional data1 As Variant[], Optional data2 As Variant, Optional data3 As Variant)
in DDTNormale e comunque contenuto; oltretutto l'errore che si verifica
Codice: [Seleziona]
Unknowm symbol 'cbformato' in class container in PrintPdf
più che dirmi che non trova l'oggetto cbformato che comunque è presente nel form PrintPdf.Form, mi da l'idea che sia causato dalla non formazione dell'oggetto "Me", infatti la riga è:
Codice: [Seleziona]
Me.cbFormato.Index = 1
A meno che le variabili che hai citato non debbano essere inserite nelle dichiarazioni all'inizio della procedura stampa normale o nella chiamata della stessa procedura.
Che ne dici? (mi rendo conto di avervi piazzato una pizza un po' enorme  :rolleyes: :rolleyes:)

Vi ringrazio, Ciaoooooo :ciao: :ciao:
« Ultima modifica: 23 Settembre 2017, 11:41:22 da Franco_da_vc »
Bye by Afo

Offline Golia

  • Senatore Gambero
  • ******
  • Post: 1.298
  • no xe mai massa tardi
    • Mostra profilo
Re:Problema con PdfWriter
« Risposta #11 il: 22 Settembre 2017, 22:37:27 »
puoi allegarmi il progetto?, basta solo la parte della stampa

Offline Franco_da_vc

  • Grande Gambero
  • ***
  • Post: 208
  • Non è mai troppo tardi!
    • Mostra profilo
Re:Problema con PdfWriter
« Risposta #12 il: 23 Settembre 2017, 12:29:45 »
puoi allegarmi il progetto?, basta solo la parte della stampa

Va bene, ti ho tolto tutto ciò che non riguarda la parte di stampa, ma penso che ciò non influenzerà la problematica perché non avevo ancora inserito mie variabili nella routine di stampa

Ti ringrazio Golia, ciaoooooo :ciao:
Bye by Afo

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.114
  • Tonno verde
    • Mostra profilo
Re:Problema con PdfWriter
« Risposta #13 il: 23 Settembre 2017, 13:54:35 »
Ciao Franco,
ho capito quale è il problema, le combobox nel progetto di Golia vengono erroneamente chiamate con Me.ComboQualsiasi.
Si tratta di un errore in questo modo possono solo essere chiamati gli oggetti pubblici mentre invece gli oggetti (controlli) di un form sono di default privati.
Puoi cambiare i controlli a public cosa deprecata e che ti sconsiglio oppure eliminare tutti i "Me." presenti nel codice, cosa auspicabile.
Ti invito a fare questa semplice prova in un nuovo progetto grafico con una combo (cbProva), prima provi ad avviare questo codice senza cambiare la proprietà public della combo, vedrai cosa ti dice Gambas, e dopo prova con public a true:

Codice: [Seleziona]
Public Sub Form_Open()

  Me.cbProva.Add("Pippo")

End
:ciao:
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline Golia

  • Senatore Gambero
  • ******
  • Post: 1.298
  • no xe mai massa tardi
    • Mostra profilo
Re:Problema con PdfWriter
« Risposta #14 il: 27 Settembre 2017, 15:29:22 »
Ciao
A me funziona, magari prova come ha suggerito Gianluigi