PDA

View Full Version : Program Call mit c#



Oli001
19-01-11, 08:42
Hallo,

ich möchte über eine .net Anwendung einen Programmaufruf starten. Dazu habe ich cwbx.dll in mein Projekt eingebunden.
Nun komme ich aber nicht wirklich weiter, gibt es irgendwo eine gute Beschreibung, wie man da vorgehen muss?

Viele Grüße Oli

Oli001
19-01-11, 09:22
Um das Problem genauer zu umschreiben:

Ich bekomme folgende Fehlermeldung wenn ich mich an der AS400 anmelden will:

Die COM-Klassenfactory für die Komponente mit CLSID {86F9DB12-15D5-11D2-849C-0004AC94E175} konnte aufgrund des folgenden Fehlers nicht abgerufen werden: 80040154.

Wie muss ich denn diese Komponente registrieren?


Grüße Oli

Fuerchau
19-01-11, 09:36
Du bindest nicht die DLL ein sondern fügst in deine Verweise das COM-Addin CWBX in dein Projekt.
.NET erstellt eine Interop-Dll, so dass du anschliessend die Objekte ganz einfach mit New erstellen und auf die Eigenschaften und Methoden zugreifen kannst (wie im Übrigen mit allen COM-Objekten).

Die Beschreibung von CWBX und anderen benötigten Komponenten findest du in der Dokumentation des Programmierer-Toolkits von ClientAccess (falls installiert).

Oli001
19-01-11, 09:44
Hallo, Danke für die schnelle Antwort, aber wo finde ich denn das com-addin? Wenn versuche über den Reiter COM etwas zu finden dann finde ich nur das Addin "IBM iSeries Acess for Windows ActiveX Object Library". Und wenn ich das einbinde, dann bekomme ich den selben Fehler???

Grüße Oli

Fuerchau
19-01-11, 09:56
Die COM-Klasse ist die richtige da sie sonst nicht angezeigt wird.

Ggf. ist das ein Problem deiner Umgebung.
Ich vermute mal, du entwickelst auf einem 64-Bit-Rechner ?
Die CA-COM-Objekte sind aber nur 32-bit. In diesem Fall musst du deine Projekteigenschaften von ANY-CPU auf 32-Bit anpassen da du sonst keine 32-Bit-Objekte verwenden kannst.

Oli001
19-01-11, 10:03
AAAAH,
das ist ja peinlich... (SCHÄM)
Danke für das Herunterholen von der Leitung...

Grüße Oli

Oli001
20-01-11, 07:47
Hallo,

jetzt kommt aber das nächste Problem auf mich zu:
Ich habe Geräte zur mobilen Datenerfassung (Betriebssystem WIN CE 5 .CompactFramework 3.5). Da gibt´s die COM - Objekte ja nicht. Wie kann ich denn da einen ProgramCall aufrufen, oder was muss ich tun, um die cwbx.dll auf so einem GErät zu registrieren?

Grüße Oli

Fuerchau
20-01-11, 08:37
Da musst du dir leider einen anderen Weg überlegen.
CA gibt es für Windows-CE nicht.

Alternativ kannst du Programme auch über SQL-Aufrufen.
Ggf. findest du ja einen DB2/Connect o.ä. für WindowsCE oder du steigst auf Java um.
Die AS/400-Toolbox ist in Java, enthält einen JDBC-Treiber und benötigt keinerlei CA-Installation.

Oli001
20-01-11, 08:40
Hi,

danke für die schnelle Antwort.
Nun auf java kann ich leider nicht umsteigen, das ist Vorgabe. Aber die Programme die ich aufrufen muss laufen auch über einen Java WebService. Dann werde ich das so lösen müssen.

Schade eigentlich.


Vielen Dank und Grüße Oli