Nome file di spool nella coda di stampa

Salve mi succede una cosa strana in una routine di stampa, dopo aver stampato il documento nella coda di stampa il nome dello spool creato una label dell’applicazione, cio per spiegarmi meglio aprendo la coda della stampante in Windows il nome dello spool nella coda solitamente nel caso di applicazione Xojo “Untitled”, nel mio caso invece il nome del file in spool “Seleziona il tipo di stampa” che una label contenuta nell’applicazione, vorrei capire se un qualche bug da parte mia nella programmazione o un problema che riguarda Xojo.
Spero di essermi spiegato e spero che ci sia una soluzione.

Direi che un bug tuo (non esistono costanti in italiano in Xojo e non c’ nessun motivo per cui da solo utilizzi una delle tue)

Ciao Antonio, lo so grazie per ho letto e riletto il sorgente e non trovo errori da quel che posso immaginare sembra che una variabile si sovrapponga in memoria con una costante ma non capisco come.
Questa la sub che si occupa della stampa una lista totale di un archivio siccome stavo provandola non c’ la lettura dell’archivio ma delle costanti che vengono stampate, se noti qualcosa te ne sarei molto grato.

// Stampo la lista degli iscritti
//
// La pagina un A4 orizzontale
//

Dim d As Date
d = New Date

// Call AproArcAss
// Call LeggoArcAss
// Call ChiudoArcAss

// Dim sql As String
// sql = “SELECT * FROM Iscritti ORDER BY AssSociCogn, AssSociNome”

Dim cwx As String = d.Day.ToText + “/” + d.Month.ToText + “/” + d.Year.ToText // Data di stampa
Dim Riga1 As String = TORNEO "+ Campi.AsNo + " STAMPA ELENCO ISCRITTI - DEL " + cwx
Dim RigaL As String = “---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------”
Dim Riga2 As String = “Cod.Iscr. Numero Iscriz. Codice Circolo”

// Setto la stampante di default

Dim g As Graphics
Dim x As Integer // Numero pagine
Dim z As Integer // Contatore numero righe per pagina
Dim j As Integer // Contatore pagine
Dim k As Integer // Numero numero righe per pagina
Dim y As Integer // Interlinea

g = OpenPrinterDialog

// Stampa Iscritto

If g <> Nil Then
g.TextFont = “Arial”
g.TextSize = 12

x = 1 // Numero di pagine totali x = n record / 48 + 1
// if x * 48 < n record x = x + 1
For j = 1 to x

// Stampo Intestazione Pagina

g.DrawString(Riga1, 38, 38)
g.DrawString("Pag. ", 1000, 38)
g.DrawString(str(j, "###0"), 1040, 38)
g.DrawString(RigaL, 38, 52)
g.DrawString(Riga2, 38, 66)
g.DrawString("Cognome", 298, 66)
g.DrawString("Nome", 608, 66)
g.DrawString("Val. Tessera", 912, 66)
g.DrawString("Scad. Tess.", 984, 66)
g.DrawString(RigaL, 38, 80)

k = 48                                     // Numero righe per pagina interlinea 14 in 1/96"

For z  = 1 to k
  
  CampiSoc.SoID = z
  CampiSoc.SoTe = 123456
  CampiSoc.SoCi = 7890
  CampiSoc.SoCog = " COGNOMEPROVA"
  CampiSoc.SoNom = "NOMEPROVA"
  CampiSoc.SoFLR = "R"
  CampiSoc.SoSt = "G"
  
  y = z*14+80
  
  g.DrawString(str(CampiSoc.SoID, "000000"), 45, y)
  g.DrawString(str(CampiSoc.SoTe, "000000"), 133, y)
  g.DrawString(str(CampiSoc.SoCi, "000000"), 224, y)
  g.DrawString(CampiSoc.SoCog, 296, y)
  g.DrawString(CampiSoc.SoNom, 608, y)
  g.DrawString(CampiSoc.SoFLR, 943, y)
  g.DrawString(CampiSoc.SoSt, 1007, y)
  
next z

if j < x then g.NextPage

next

End If

Return

Ciao, lo spooler di Windows nomina il file di spool con il titolo della finestra che lo ha generato.
Ti sarebbe sufficiente rinominare il titolo della finestra da “Seleziona il tipo di stampa” a “Stampa Elenco Iscritti”
E poi al massimo ci metti una label con : Seleziona il tipo di stampa.
Oppure meglio ancora… prima di lanciare la stampa rinomina la finestra con il nome della stampa che vuoi che esca nello spooler

Grazie ero un po’ preoccupato che ci fossero sovrapposizioni in memoria per dei miei errori, comunque va bene cos non importa se lo chiama con il titolo della finestra mi preoccupavo solo che fosse un mio errore, grazie

Prova a lanciare stampe da qualche altro programma, vedrai che nello spooler avranno tutte il nome della finestra che le esegue.

Ho gi provato ti ringrazio e mi sono tolto up peso anche perch l’applicazione che sto’ scrivendo un po’ pesante e dover rivedere tutto sarebbe stato un peso enorme.
Una curiosit perch Xojo utilizza i 1/96 di pollice e non i 1/72 di pollice nelle misure di stampa?
L’ho scoperto dopo mille prove perch non mi venivano le stampe come avevo impostato dopo aver letto i valore che torna PrinterSetup ho capito che la base di calcolo era differente per non viene riportato da nessuna parte ne nel manuale ne negli esempi.