DIAdem

cancel
Showing results for 
Search instead for 
Did you mean: 

DIAdem DCOM VBS, Abbruch beim auslesen von Properties

Hallo alle,
 
ich hoffe ihr könnt mir weiterhelfen, stehe nämlich vor folgendem Problem: Benutze das DCOM-Interface von DEWEsoft um dieses aus DIAdem heraus zu steuern. Problem ist, dass beim Auslesen von manchen Properties (z.B. 3.Ebene deweApp.Modules(0).DaqData.Name) das VBS-Script kapituliert. Ich kann jedoch auf Properties der 2.Ebene zurückgreifen, also z.B. deweApp.Modules.Count.  Zurückgeführt habe ich das bereits auf die initialisierung des Objekts durch CreateObject. Lasse ich das ganze in einem VBA Skript über
 
Dim .... as DEWEsoft.App
Set .... = New DEWEsoft.App
 
laufen, geht es einwandfrei.
 
Gibt es also für sowas auch eine Lösung für DIAdem VBS?
0 Kudos
Message 1 of 14
(4,764 Views)
Hey everybody,
I hope you cvan help me with the following problem. I use DIAdem to control an external application via the DCOM Interface. I create the object with CreateObject. However I am not able to access properties of the 3rd level, so it throws me an error. Properties of the second level are readable though. Example:
good: deweApp.Modules.Count
bad: deweApp.Modules(0).DaqData.Name
 
If I use VBA and use
Dim .... as DEWEsoft.App
Set .... = New DEWEsoft.App
everything works fine. I would like to control it through DIAdem though, so anybody got a hint for me?
0 Kudos
Message 2 of 14
(4,760 Views)
Hallo Schorsch!
 
Meiner Erfahrung nach sollte mit VBS so ziemlich alles gehen was COM betrifft. Gegenüber VBA gibt es aber ein paar Einschränkungen da VBS z.B. keine typisierten Variablen und benamte Parameter kennt. Darum ist es gelegentlich notwendig sich die Schnittstellendefinition genauer anzuschauen.
 
Du schreibst das dein Skript 'kapituliert'. Was bedeutet dies genau? Welcher Fehlermeldung kommt hoch?
 
Wie sieht ansonsten deine Situation aus: Läuft die andere Applikation schon und du willst dich mit dieser verbinden oder willst du erst mit dem CreateObject die Applikation starten. Je nach Server Implementierung wird für jedes CreateObject ein neuer Prozess gestartet, so das man dann vielleicht nicht auf die sichtbare Applikation zugreift.
 
Mit etwas zusätzlichen Informationen kann ich vielleich besser helfen
 
Matthias
Matthias Alleweldt
Project Engineer / Projektingenieur
Twigeater?  
0 Kudos
Message 3 of 14
(4,745 Views)
Hallo Twigeater,
 
also DIAdem wirft die Fehlermeldung: "Ausnahmefehler des Servers".
 
Die Applikation wird durch CreateObject gestartet und dann Initialisiert, ich kann wie gesagt auf bestimmte Methoden und Properties zurückgreifen. Sowohl in VBA (z.B. unter Excel) als auch in VBS aus DIAdem. Da ich jetzt auch auf die zusätzlichen Properties angewiesen bin, bin ich erst jetzt auf dieses Problem gestolpert...
 
 
Danke schonmal im Voraus!
:manvery-happy:
0 Kudos
Message 4 of 14
(4,740 Views)
Hallo Schorsch!
 
Spontan sehe ich noch nicht die Ursache, du musst also mal etwas probieren Smiley Sad
 
Kannst du mal bitte folgende Aufrufe probieren:
MsgBox TypeName(deweApp.Modules)
MsgBox deweApp.Modules.Count
MsgBox TypeName(deweApp.Modules.Item(0))
MsgBox TypeName(deweApp.Modules.Item(0).Name)
MsgBox deweApp.Modules.Item(0).Name
 
Matthias
Matthias Alleweldt
Project Engineer / Projektingenieur
Twigeater?  
0 Kudos
Message 5 of 14
(4,731 Views)

Hi,

ich werde die MsgBox MEldungen hier in der Reihenfolge der Ausgaben auftrage:

  1. IModules
  2. 8

Danach tauchen keine weiteren MsgBoxen mehr auf

0 Kudos
Message 6 of 14
(4,729 Views)
Hallo Schorsch!
 
Kannst du mal bitte ins DIAdem Log schauen ob es da Fehlermeldungen gibt. Kannst du bitte auch mal den Index für Item auf z.B. 1 setzen und nochmal probieren.
 
Matthias
Matthias Alleweldt
Project Engineer / Projektingenieur
Twigeater?  
0 Kudos
Message 7 of 14
(4,727 Views)
Hallo,
 
also den Index auf 1 zu setzen hat nichts gebracht. Leider steht auch nichts in der Logdatei
0 Kudos
Message 8 of 14
(4,724 Views)
Hallo Schorsch!
 
Das ist schon ziemlich rätselhaft so ganz ohne Fehlermeldung! Im Moment habe ich leider keine richtige Idee. Kannst du vielleicht mal das Skript außerhalb von DIAdem einfach unter Windows laufen lassen.
 
Matthias
Matthias Alleweldt
Project Engineer / Projektingenieur
Twigeater?  
0 Kudos
Message 9 of 14
(4,718 Views)
Der WSH wirft mir einen Fehler. Und zwar nach "MsgBox deweApp.Modules.Count"
0 Kudos
Message 10 of 14
(4,715 Views)