Access VBA und PDFCreator Problem

Hallo,

vieleicht kann mir jemand bei einem eigenartigen Problem bei der Automatisierung des PDFCreators helfen…

Umgebungsbeschreibung:
Access 2002 / Access 2010
Windows XP 32Bit und Win7 64Bit
PDF Creator 1.6.2

Mittels einer in VBA erstellten Klasse moechte ich Reports in PDF konvertieren und an eine Email anhaengen. Die Klasse entscheidet dabei welche Konvertierung benutzt werden soll, da auf den Zielmaschinen entweder FreePDF oder PDFCreator intstalliert ist. Wird die Anwendung unter Access2010 ausgefuehert erfolgt die Konvertierung mit Bordmitteln.

Soweit so gut, prinzipell funktioniert das auch so wie ich mir das vorstelle, bis auf einen kleine Unart:
Die Routine, die mit PDFCreator zusammenarbeitet, funktioniert nur wenn ich sie im Debugger laufen lasse. d.h. ich setze einen Breakpoint irgendwo in der Funktion. Das Programm haelt an, ich lasse es weiterlaufen und alles funktioniert.

Ohne Breakpoint gibt es mal eine Fehlermeldung beim Drucken des Reports (2046 Funkton steht z.Z. nicht zur Verfuegung), mal eine Fehlermeldung aus PDFCreator, mal gibts keine Fehlermeldung aber auch keine PDF Datei.
Gleiches Verhalten unter WinXP und Win7 mit Access2002, unter Access2010 funktioniert die Routine einwandfrei.

Ich habe versucht mittels Sleep und DoEvents das Timing zu beeinflussen… nada.
Auch ein Artikel von Ms bzgl. Error 2046 und Focus setzen auf DB-Fenster hat nichts gebracht.

Hat vieleicht irgend jemand das Problem auch mal gehabt, bzw. hat eine Idee zur Loesung?
In diversen VB Foren bin ich auch nicht fuendig geworden.

Any hep welcome
Tschau
Peter

Hallo,
m. E. hat das schon mit dem Timing zu tun. Vielleicht hat die PDF-Creator-API ja eine Eigenschaft (kann mich an sowas dunkel erinnern) , die die Vollendung der PDF-Generierung anzeigt.

Je nachdem, WAS Sleep nun macht (den Prozessor ganz anhalten oder nur den Code der Access-Applikation ), kann der Schuss hier nach hinten losgehen.

Gruß
Franz,DF6GL

Hallo Franz,

m. E. hat das schon mit dem Timing zu tun. Vielleicht hat die
PDF-Creator-API ja eine Eigenschaft (kann mich an sowas dunkel
erinnern) , die die Vollendung der PDF-Generierung anzeigt.

Ja, das gibts schon, aber erst wenn die Generierung von Poptscript zu PDF stattfindet und da ist aber schon vorher was schiefgegangen.

Das Problem scheint schon vor der eigentlichen Generierung des PDF aufzutreten.
Irgendwie sieht es so aus als ob Access Probleme mit der Kommunikation mit dem Druckertreiber von PDFCreator/Ghostscript hat. Zum einen der Fehler beim DoCmd.openReport (2046), zum anderen werden die temp. Postscript-Dateien nicht oder nicht im richtigen Ordner angelegt.

Je nachdem, WAS Sleep nun macht (den Prozessor ganz anhalten
oder nur den Code der Access-Applikation ), kann der Schuss
hier nach hinten losgehen.

Sleep haellt nur den aktiven Thread an:
„Suspends the execution of the current thread until the time-out interval elapses.“
Hat aber keinen Einfluss auf das Verhalten, mit oder ohne Aufrufe gleiches Verhalten.

Tschau
Peter

Hallo,

m. E. hat das schon mit dem Timing zu tun. Vielleicht hat die
PDF-Creator-API ja eine Eigenschaft (kann mich an sowas dunkel
erinnern) , die die Vollendung der PDF-Generierung anzeigt.

Ja, das gibts schon, aber erst wenn die Generierung von
Poptscript zu PDF stattfindet und da ist aber schon vorher was
schiefgegangen.

Das Problem scheint schon vor der eigentlichen Generierung des
PDF aufzutreten.
Irgendwie sieht es so aus als ob Access Probleme mit der
Kommunikation mit dem Druckertreiber von
PDFCreator/Ghostscript hat. Zum einen der Fehler beim
DoCmd.openReport (2046), zum anderen werden die temp.
Postscript-Dateien nicht oder nicht im richtigen Ordner
angelegt.

Je nachdem, WAS Sleep nun macht (den Prozessor ganz anhalten
oder nur den Code der Access-Applikation ), kann der Schuss
hier nach hinten losgehen.

Sleep haellt nur den aktiven Thread an:
„Suspends the execution of the current thread until the
time-out interval elapses.“
Hat aber keinen Einfluss auf das Verhalten, mit oder ohne
Aufrufe gleiches Verhalten.

Tja, da erschöpft sich halt die Ferndiagnose…

Gruß
Franz,DF6GL

Hallo,

Tja, da erschöpft sich halt die Ferndiagnose…

Anyway, danke fuer die Muehe.

Habe gerade Rueckmeldung erhalten, anscheinend funktionierts es unter Access2003 auch problemslos.

Tschau
Peter

Hallo,

Tja, da erschöpft sich halt die Ferndiagnose…

Mittlerweile funktioniert es…
aber frag nicht wieso, keine Ahnung!

Die gesamte Funktionalitaet nimm ihren Anfang in einem OnClick-Event, laeuft duch 3 Funktion bis sie in der eigentlichen Funktion zum PDF-Erzeugen ankommt. Zwischenzeitlch wird Outlook gestartet, ein Mail erzeugt etc.etc.
Nachdem ich alle DoEvents auf dem gesamten Weg rausgeschmissen habe laeuft es sauber durch.

Tschau
Peter