PRINTER CLASS
Posted: Sat Jan 06, 2007 3:03 pm
To Antonio,
As I sometimes have problems with a white sheet in preview I thought of changing printer.prg. This occurs if the program breaks and the wmf-file is not destroyed by the calling program. You have to cancel wowoexec and then delete the temp-wmf file in windows/temp or - as a user - restart the system.
I inserted:
aDirTMP := directory(::cDir+"\*.wmf", "D")
and changed
AAdd(::aMeta,::cDir+"\T"+ALLTRIM(STR(len(aDirTMP)+1))+Padl(::nPage,4,"0")+".wmf")
So every wmf-file gets a new filename.
Could someone of the advanced Fivewinners check this code, please.
Thanks in advance
Otto
METHOD _StartPage() CLASS TPrinter
LOCAL lSetFixed
LOCAL aDirTMP := {}
If ::hDC = 0
Return NIL
endif
lSetFixed := Set(_SET_FIXED,.F.)
if !::lMeta .AND. !::lStarted
::lStarted := .T.
StartDoc( ::hDC, ::cDocument )
endif
::nPage++
aDirTMP := directory(::cDir+"\*.wmf", "D")
if ::lMeta
AAdd(::aMeta,::cDir+"\T"+ALLTRIM(STR(len(aDirTMP)+1))+Padl(::nPage,4,"0")+".wmf")
::hDCOut := CreateMetaFile(Atail(::aMeta))
else
StartPage(::hDC)
endif
Set(_SET_FIXED,lSetFixed )
Return NIL
As I sometimes have problems with a white sheet in preview I thought of changing printer.prg. This occurs if the program breaks and the wmf-file is not destroyed by the calling program. You have to cancel wowoexec and then delete the temp-wmf file in windows/temp or - as a user - restart the system.
I inserted:
aDirTMP := directory(::cDir+"\*.wmf", "D")
and changed
AAdd(::aMeta,::cDir+"\T"+ALLTRIM(STR(len(aDirTMP)+1))+Padl(::nPage,4,"0")+".wmf")
So every wmf-file gets a new filename.
Could someone of the advanced Fivewinners check this code, please.
Thanks in advance
Otto
METHOD _StartPage() CLASS TPrinter
LOCAL lSetFixed
LOCAL aDirTMP := {}
If ::hDC = 0
Return NIL
endif
lSetFixed := Set(_SET_FIXED,.F.)
if !::lMeta .AND. !::lStarted
::lStarted := .T.
StartDoc( ::hDC, ::cDocument )
endif
::nPage++
aDirTMP := directory(::cDir+"\*.wmf", "D")
if ::lMeta
AAdd(::aMeta,::cDir+"\T"+ALLTRIM(STR(len(aDirTMP)+1))+Padl(::nPage,4,"0")+".wmf")
::hDCOut := CreateMetaFile(Atail(::aMeta))
else
StartPage(::hDC)
endif
Set(_SET_FIXED,lSetFixed )
Return NIL