Personal info for MikeLacey

Name: Mike Lacey

Notes: Unix, Oracle, Perl and VB Devloper. Using Ghostscript to batch convert PS into TIFF images.

Recent diary entries for MikeLacey:

14 Feb 2001  »

Dear All,

I am writing a VB5 program to batch convert PS files to TIFF images for faxing.

I have two problems (that I know of):

1 For a limited application such as this, what should be in the CallBack function? At the moment it is a stub that does nothing at all.

2 The executable grows by 30->70k each time a PS file is converted, am I calling the gsdll_* functions correctly? I have read the DLL documentation supplied with GS and *think* I am.... The code that calls the dll functions is below. I would appreciate comments or suggestions from anyone, particularly anyone who has used gsdll_* from VB. As far as I can tell the leak occurs when I convert the PS file (code below) but I am not convinced as yet.

My environment is:

NT4 SP5 VB5 SP3 GS6.5

Regards

Mike

--- Mike Lacey Open Systems, Witham St Hughs. +44 (0)7785 327 710 (mobile) +44 (0)1522 556 243 (direct line) +44 (0)1522 556 100 (switchboard) www.tek-tips.com - Support for I.T. Professionals

' GhostScript function declarations
Private Declare Function gsdll_revision Lib "gsdll32.dll" ( _
lpString As String, _
lpString As String, _
gsrev As Long, _
gsdate As Long _
) As Integer

Private Declare Function gsdll_init Lib "gsdll32.dll" ( _
ByVal lpGsBack As Any, _
ByVal hwnd As Long, _
ByVal argc As Long, _
argv As Long _
) As Integer

Private Declare Function gsdll_execute_begin Lib "gsdll32.dll" () As Integer

Private Declare Function gsdll_execute_cont Lib "gsdll32.dll" ( _
ByVal pscommand As String, _
ByVal commlen As Long _
) As Integer

Private Declare Function gsdll_execute_end Lib "gsdll32.dll" () As Integer

Private Declare Function gsdll_exit Lib "gsdll32.dll" () As Integer

this code is called for each PS file converted.

llaArgV(0) = agGetAddressForObject&(Argv0(0))
llaArgV(1) = agGetAddressForObject&(Argv1(0))
llaArgV(2) = agGetAddressForObject&(Argv2(0))
llaArgV(3) = agGetAddressForObject&(Argv3(0))
llaArgV(4) = agGetAddressForObject&(Argv4(0))
llaArgV(5) = agGetAddressForObject&(Argv5(0))
llaArgV(6) = agGetAddressForObject&(Argv6(0))
llaArgV(7) = agGetAddressForObject&(Argv7(0))
llaArgV(8) = agGetAddressForObject&(Argv8(0))
' rcode = gsdll_revision(vbNullString, vbNullString, 0, 0)
rcode = gsdll_init(AddressOf Callback, frmAutoFax.hwnd, 8, llaArgV(0))
initret = rcode
rcode = gsdll_execute_begin()
rcode = gsdll_execute_end()
rcode = gsdll_exit()

This person has certified others as follows:

Others have certified this person as follows:

[ Certification disabled because you're not logged in. ]

[ Home | Articles | Account | People | Projects ]