Eventualmente cambia al volo la stampante predefinita di Windows.
Qui c'è il codice per farlo:
http://www.berezniker.com/content/pages/visual-foxpro/changing-windows-default-printer
--
Ciao.
Bruno Maddalozzo
Arsiè - BL
"pippo" ha scritto:
> Sono passato a win7 pro e non riesco più a fare pdf da VFP9 SP2. Il sistema
> che usavo con XP (una libreria trovata su FoxTalk), non riesce ad installare
> il driver, così sono tornato a PDFCreator che mi pare sia usato da altri
> amici di questo forum. Mentre in interattivo funziona normalmente se lo
> lancio da un eseguibile continua a mandare la stampa sulla stampante che era
> di default quando ho creato il report, sia con 7 che con XP, anche se il
> codice imposta realmente PDFCreator come default. Invece funziona se
> PDFCreator è predefinita prima di lasnciare l'eseguibile. Il printer
> envirenment del report non è salvato.
> Questo il codice (ho provato a mettere timeout da tutte le parti):
>
> LOCAL old_print
> PUBLIC PDFCreator
> old_print = SET("PRINTER", 2)
> PDFCreator = CreateObject("PDFCreator.clsPDFCreator","PDFCreator_")
> PDFCreator.cStart()
> WAIT TIMEOUT 1
> WITH PDFCreator
> .cClearcache
> .cDefaultprinter = "PDFCreator"
> .cOption("UseAutosave") = 1
> .cOption("AutosaveFormat") = 0
> .cOption("AutosaveDirectory") = (SET("directory") + "\temp")
> .cOption("AutosaveFilename") = "Temp.pdf"
> ENDWITH
> WAIT TIMEOUT 1
> REPORT FORM My_rep.frx TO PRINTER
> WAIT TIMEOUT 1
> PDFCreator.cDefaultprinter = old_print
>
> Se nessuno è in grado di aiutarmi forse qualcuno mi sa indicare un'altra via
> per generare pdf, possibilmente free?
>
> grazie, pippo
>
non so come mai ma io non ho il post iniziale di pippo.
Il codice che io utilizzo per stampare con PDFCreator � abbastanza differente dal tuo e qui te lo incollo.
<vfp>
local m.password, m.filename
m.password = ""
local loPDFCreator as PDFCreator.clsPDFCreator
loPDFCreator = Createobject("PDFCreator.clsPDFCreator")
if ! loPDFCreator.cStart("/NoProcessingAtStartup")
loPDFCreator.cStart("/NoProcessingAtStartup", 1)
endif
if ! inlist(loPDFCreator.cError.Number, 0, 2)
messagebox( ;
"Errore " + ltrim(str(loPDFCreator.cError.Number)) + ;
chr(13) + chr(13) + ;
loPDFCreator.cError.Description, ;
"Errore di PDFCreator" )
endif
loPDFCreator.cPrinterStop = 0
with loPDFCreator
.cOption("AutosaveFormat") = 0
.cOption("UseAutosave") = 1
.cOption("UseAutosaveDirectory") = 1
.cOption("AutosaveDirectory") = getenv("TEMP")
.cOption("AutosaveFilename") = "MioReport.PDF"
.cOption("StandardTitle") = juststem(.cOption("AutosaveFilename"))
if ! empty(m.password)
.cOption("PDFOwnerPasswordString") = m.password
.cOption("PDFOwnerPass") = 1
.cOption("PDFUseSecurity") = 1
endif
.cOption("PDFDisallowCopy") = 0
.cClearcache()
endwith
m.filename = ;
loPDFCreator.cOption("AutosaveDirectory") + ;
loPDFCreator.cOption("AutosaveFilename")
do while file(m.filename)
try
erase (m.filename) recycle
catch
wait window nowait "Attesa eliminazione file ..."
endtry
enddo
wait clear
select 0
use MiaTabella order tag "ORDINE01"
local m.old_printer
m.old_printer = set("PRINTER", 3)
set printer to name "PDFCreator"
select MiaTabella
set reportbehavior 80
report form MioReport to printer noconsole
set printer to name (m.old_printer)
do while ! file(m.filename)
doevents
wait window nowait "Attesa crezione file ..."
enddo
wait clear
do while loPDFCreator.cCountOfPrintjobs > 0
doevents
wait window nowait "Attesa rilascio file ... " + ltrim(str(loPDFCreator.cCountOfPrintjobs))
enddo
wait clear
</vfp>
Gianni
On Wed, 31 Mar 2010 23:54:01 -0700, Informatica Aziendale <Informatic...@discussions.microsoft.com> wrote:
>Prova a vedere se effettivamente non c'� nessuna stampante memorizzata nel
>report environment (cio� apri il report come tabella e controlla i campi Expr
>e Tag, Tag2 (questi ultimi due devono essere vuoti)).
>
>Eventualmente cambia al volo la stampante predefinita di Windows.
>Qui c'� il codice per farlo:
>http://www.berezniker.com/content/pages/visual-foxpro/changing-windows-default-printer
"Gianni Turri" <removethi...@andthisgmail.com> ha scritto nel
messaggio news:hj59r5pkn1mr8iqlk...@4ax.com...
> Ciao pippo, ciao Bruno,
>
> non so come mai ma io non ho il post iniziale di pippo.
>
> Il codice che io utilizzo per stampare con PDFCreator è abbastanza
>>Prova a vedere se effettivamente non c'è nessuna stampante memorizzata nel
>>report environment (cioè apri il report come tabella e controlla i campi
>>Expr
>>e Tag, Tag2 (questi ultimi due devono essere vuoti)).
>>
>>Eventualmente cambia al volo la stampante predefinita di Windows.
>>Qui c'è il codice per farlo:
>>http://www.berezniker.com/content/pages/visual-foxpro/changing-windows-default-printer
Gianni