[Unlösbar?]Automation Variable; Laufzeitfehler!

2. Oktober 2009 08:11

Guten Morgen jungs und mädels :)

Hab hier heute mal ein ganz exotisches Problem:
Ich hab eine .dll eingebunden (Automation Server Variable). Die .dll beeinhaltet Funktionen zum ansprechen eines Scanners. Soweit so gut hat mein Programm und das Scannen einwandfrei funktioniert. Beim geschätzten 20. scannen erhalte ich auf einmal Errormeldungen:
Code:
Laufzeitfehler '429':
Objekterstellung durch Active-X-Komponente nicht möglich

Code:
Laufzeitfehler '7':
Nicht genügend Speicher


Beide wechseln sich seltsamerweise ab. Die Fehlermeldungen erhalte ich nur wenn ich die .dll auf einer native DB ausführe. Auf einer SQL DB nicht. Die .dll muss allerdings lokal auf dem ausführenden Client liegen. Kunden berichteten, dass sie die selben Fehler ganz sporadisch haben. Neustart von PC und Navision verhalf mir auch nicht. Gerade im Moment läuft es wieder. Ich hab echt keine Ahnung was hier los ist.

Ist jemanden schonmal so etwas unter die Finger gekommen und hat ein Workaround parat?

Viele Grüße,
jhe
Zuletzt geändert von jheATnav am 27. Oktober 2009 15:04, insgesamt 1-mal geändert.

Re: Automation Variable; Laufzeitfehler!

2. Oktober 2009 09:32

Zunächst die Frage, was für ein Scanner ist es (Flachbrett, Handscanner etc.) und was für eine Anschlußart?
-->Wir hatten z.B. früher Handscanner über serielle Schnittstelle (COM Port), war die Bautrate zu hoch oder auch niedrig eingestellt kamm es sporadisch zu Fehlern. (Windows Default ist (glaube ich) 9600 Bits die Sekunde)

Hast du schon den Scannerhersteller kontaktiert?
Evtl. ist es ein bekanntes Problem.

Evtl. hilft dir dieser Artikel weiter: Laufzeitfehler 429 bei der Automatisierung
(Ist zwar auf Office bezogen, aber vieleicht enthält der Beitrag die richtigen "hints")


Bzgl. Laufzeitfehler 7, ist sichergestellt, das genügend Speicher vorhanden ist (nicht nur Ram, sondern auch Festplatte und Swap-Datei)?

Re: Automation Variable; Laufzeitfehler!

2. Oktober 2009 09:56

Es ist ein Flachbrett Scanner und ich schließe ihn über USB an. Aber den Scanner schließe ich als Fehlerquelle aus, weil ich über die Server Datenbank scannen kann. Der Fehler tritt nur auf, wenn ich auf einer lokalen DB arbeite. Deswegen vermute ich ein Navision Problem. Hierzu muss ich sagen, dass ich ein genaues Abbild von der Server-Datenbank benutzt habe.

Es steht genug Ram, sowie auch Festplatten Kapazitäten zur Verfügung. Auch die Auslagerungsdatei sollte lange ausreichen.
Werd mir dann jetzt mal dein Artikel zu gemüte führen. :-|

Re: Automation Variable; Laufzeitfehler!

2. Oktober 2009 10:25

jheATnav hat geschrieben:...Aber den Scanner schließe ich als Fehlerquelle aus,, weil ich über die Server Datenbank scannen kann. Der Fehler tritt nur auf, wenn ich auf einer lokalen DB arbeite. Deswegen vermute ich ein Navision Problem. Hierzu muss ich sagen, dass ich ein genaues Abbild von der Server-Datenbank benutzt habe.


Ist die lokale DB groß genug und genügend Platz vorhanden(siehe -->Datei-->Datenbank-->Informationen?
(Bilder sind beim Scannen z.T. extrem groß, bis diese gespeichert werden)

Den Scanner auschliessen ja, aber nicht den PC (also die Installation der Treiber).
-->Hast du schon eine Neuinstallation der Treiber versucht, ode rauch ein "Reregister" (unter -->Extras-->Benutzerdefinierte Controls -->Control?

Arbeitest du mit der Server DB auf dem gleichen PC, wo ist der Scanner angeschlossen (am PC oder Server)?
Wenn ich diesen Artikel lese msdn - Run-time error '429' ActiveX component can't create object, hege ich den Verdacht das auf dem PC irgendeine Komponente nicht sauber installiert ist.
(wäre aber nur logisch, wenn z.B. der Scanner an unterschiedlichen Stellen betrieben wird)

Re: Automation Variable; Laufzeitfehler!

2. Oktober 2009 10:51

Die lokale DB ist groß genug, daran liegt es nicht ;)

Die Treiber hab ich jetzt schon 2 mal de- und installiert. Ich konnte allerdings beobachten, dass wenn ich die .dll neu registriere (über regsvr32), die Funktion genau einmal funktionstüchtig ist. Danach ist sie laut meinem Confirm "In Use". Das heißt mein CLEAR(Automation Variable) -Befehl arbeitet nicht richtig. Der Befehl wird allerdings sofort beim Funktionsaufruf verarbeitet, mmh.

Ja, ich arbeite bei allen Tests auf dem gleichem PC wo der Scanner angeschlossen ist und öffne von hier lediglich native oder sql DBs.

Re: Automation Variable; Laufzeitfehler!

2. Oktober 2009 11:03

Hmm, dann bin ich Ratlos.
(Der Objektstand ist identisch bei der lokalen DB mit der vom Server?)

Ich gehe mal davon aus das dieser Code in ähnlicher Form vohanden ist:
Code:
IF ISCLEAR(DeineAutomationVar) THEN
  IF NOT CREATE(DeineAutomationVar) THEN
    ERROR(Text001);

Re: Automation Variable; Laufzeitfehler!

2. Oktober 2009 11:23

Absolut identisch. Die native ist ein Abbild von heute.

Jep, der Code stimmt soweit. Es ist mir gerade einfach unbegreiflich warum die Variable nicht gecleared wird. Habs jetzt mal mit CREATE(AutVar, TRUE) probiert. Laut der Hilfe wird so automatisch eine neue Instanz erstellt. Kein Erfolg...

Ich bin für jede Hilfe sehr sehr dankbar!

Edit: Für weitere Vorschläge bin ich immer offen! :wink: