PREVIEW PROBLEM

Post Reply
User avatar
patili
Posts: 98
Joined: Mon Jan 23, 2006 9:34 am
Location: LE CREUSOT FRANCE

PREVIEW PROBLEM

Post by patili »

Hi
i have a problem with preview: print... preview
sometimes it works and sometimes no :i see a blank page and when i print it i allready have a blank page
If i delete the "preview" it will print very well
Some other days the preview works good.
Can everybody explain me how the preview works?


I' using FW 2.1
Thanks
User avatar
Otto
Posts: 4470
Joined: Fri Oct 07, 2005 7:07 pm
Contact:

Post by Otto »

Preview makes a temp-file to windows-temp folder. If you get an error during printing the temp-file is still there and locked. And the new file can't be created because FW uses always the same name. I changed printer class for me.
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++



if ::lMeta
aDirTMP := directory(::cDir+"\*.wmf", "D")
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
User avatar
patili
Posts: 98
Joined: Mon Jan 23, 2006 9:34 am
Location: LE CREUSOT FRANCE

Post by patili »

Thanks
it is very usefull
Patrick
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Otto,

You can use:

AAdd( ::aMeta, ::cDir + cTempFile( "\", "wmf" ) )
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
patili
Posts: 98
Joined: Mon Jan 23, 2006 9:34 am
Location: LE CREUSOT FRANCE

Post by patili »

But how can i include this new function in my library?
Thanks
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Modify source\classes\printer.prg, recompile it and replace it into Five.lib

Alternatively you may link the resulting OBJ as another OBJ of your application instead of replacing it into the library
regards, saludos

Antonio Linares
www.fivetechsoft.com
Post Reply