Link to home
Start Free TrialLog in
Avatar of RussellKnight
RussellKnight

asked on

Print preview Run-time error -2147417848 (80010108) - Urgent

I have designed a program in Visual Basic 6.
Incorporated in the program is a 3rd party print preview control called "Swiftprint".
In certain instances, upon clicking the print preview button, the following error is encountered:

Run-time error '-2147417848 (80010108)':
Automation error
The object invoked has disconnected from its clients.

The error occurs infrequently and has occurred on both Win 98 and XP operating systems.
There is no apparent pattern which leads up to the error, i.e. from the user's point of view, it occurs randomly when attempting to activate a print preview.

In laymans terms, I suspect that the program loses connection with the control for some reason and cannot feed it commands.
I need to find the reason it loses connection or find a way of reestablishing the connection when it gets lost.

Unfortunately the author of the Swiftprint preview control has abandoned development on the control and his help file makes not reference to such an error.
In hindsight, I should have found an alternative print preview control, however I have designed a number of reports to generate via the SwiftPrint control and am reluctant to reproduce all that coding for another control.

I have read up on early vs. late binding sometimes being the cause of this form of problem, however, the control is an OCX that is dropped directly onto the form - it cannot be referenced to and manipulated as one would a reference to, say, Excel.  Accordingly I cannot institute late binding to try and solve the problem.  Maybe someone more advanced can offer further advice in trying to institute this solution?

Is there perhaps a way to refresh an OCX control to reestablish contact with it in some manner?

If no-one can offer any help in solving the problem with the current control - what practical recommendations are there for an alternate, time tested, stable,  print preview control for Visual Basic 6?

This program is ready for commercial beta release barring this one error, which has been plaguing me for about 2 years now, any urgent assistance would be most appreciated.
Avatar of Dirk Haest
Dirk Haest
Flag of Belgium image

What kind of data do you want to preview ? Word, excell, ...

Q193379 HOWTO: Print Preview in Visual Basic Applications
http://support.microsoft.com/support/kb/articles/Q193/3/79.ASP


Print preview ocx
http://www.freevbcode.com/ShowCode.Asp?ID=730 
Avatar of RussellKnight
RussellKnight

ASKER

Thank you for your prompt reply Dhaest.
Sorry, the data does not get exported to Excel or Word etc. as not all of my potential users will have these applications installed.
The data is basically generated by the program and then displayed, much the same as the print preview feature built into any application.
Thank you for the reference to Q193379 - I have already reviewed this previously - it is very primitive and would result in the overall quality of the program being reduced (No zooming, no second pages etc.)
Thank you for the references to another print preview OCX - I have also found many of these on the net - this was the manner which I came across Swiftprint.    
Since the error is very infrequent, I am keen to try and find a work around with my current OCX, rather than redesign 20 odd detailed reports from scratch for a new print preview OCX.
The question stands - if anyone can shed light on how the run time error can be avoided or worked around?
I have managed to find a work around to this problem.
The Swiftprint OCX is flawed in that when a form which had the OCX compenent loaded is closed, it severs all the connections to the OCX for every form that is open.
Forms that are still open are no longer connected and report an error when an action involving the OCX is called.
To solve the problem I have gotten each form to hide rather than close, so that the connection is not severed.
ASKER CERTIFIED SOLUTION
Avatar of modulo
modulo

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial