Quickbooks 5 and printing

gerard patel gerard.patel at asi.fr
Mon Apr 30 19:15:41 CDT 2001


At 09:44 AM 28/04/2001 -0500, you wrote:

>Okay, here are the traces.  Here 
>(ftp://sourceharvest.com/pub/wine_qb4.log.gz) is the QB4 trace.  QB4 
>printing works.
>
>The other (ftp://sourceharvest.com/pub/wine_qb5.log.gz) is the QB5 trace.  
>QB5 printing doesn't work.

The 2 traces are  showing the same problem : the 2 versions of your app
are trying to loadlibrary on the Wineps driver. This is not working
in both cases.
The difference comes from the app itself : QB4 is proceding anyway to
a call to CreateDC (that's the usual way of printing after all) and this
call succeeds - because  Wine has been coded for this case- , while QB5
don't want to continue.
My impression is that QB5 is a more sophisticate application that is actually
*testing* the errors returned by the system.
Unfortunately, that is also breaking its capability of printing
under Wine.

I am not sure why this LoadLibrary fails (it returns 2, file not found).
I have done a quick and dirty LoadLibrary("WINEPS.DRV") in a 
winelib application : it fails. LoadLibrary("WINEPS.DLL") succeeds.
So this is the problem it seems. LoadLibrary should be tweaked.
I think that the code to patch is in library/loader.c, line 96
   /* check for .dll or .exe extension to remove */
    if (ext && (!strcmp( ext, ".dll" ) || !strcmp( ext, ".exe" ))) p = ext

After the name problem is solved, the following problem is probably
loading a 32 bits builtin library from 16 bits code. I don't remember 
clearly now (it's past 2 am for me) but the problem has already occured 
for other dlls.

I think it was you who asked about the difference between 16 and 32
bits  code; while you got a correct answer, there is also a first glance
trick, useful when in one application you have transitions between
16 and 32 bits code : the 16 bits calls to the Api are shown in uppercase,
the 32 bits are in lowercase.

Gerard





More information about the wine-devel mailing list