
In CONZEPT 16 basieren aktuell drei Oberflächen-Objekte auf ActiveX-Steuerelemente. Zur Kennzeichnung beginnen diese Objekte mit dem Präfix Ctx
. Dabei handelt es sich um die Objekte CtxAdobeReader
, CtxOffice
und das in der Version 5.6 hinzugekommene Objekt CtxDocEdit
.
Die Besonderheit dieser Objekte besteht darin, dass die jeweilige Anwendung in die eigene Applikation integriert und über die COM-Schnittstelle gesteuert werden kann. Um das zu ermöglichen werden sogenannte COM-Server (OCX-Dateien) zur Verfügung gestellt.
CtxOffice
Über das CtxOffice-Objekt können Microsoft Office-Dokumente angezeigt und gesteuert werden. Für dieses Objekt lautet die Datei c16_ctxoffice.ocx
. Diese Datei ist Bestandteil der Programmdateien des CONZEPT 16-Clients und muss daher nicht separat installiert werden.
CtxDocEdit
Für die Verwendung dieses Objekts sind neben den zwei OCX-Dateien tx4ole17.ocx
und wspell.ocx
weitere Bibliotheken notwendig. Die Installation dieser Dateien erfolgt über die Auswahl des Eintrags "Gemeinsame Komponenten" der CONZEPT 16-Installationsroutine. Alle Dateien für das CtxDEocEdit befinden sich anschließend in einem Verzeichnis mit der Bezeichnung "Common\CtxDocEdit".
Registrierung
Um die Ctx-Objekte verwenden zu können, müssen die OCX-Dateien (OLE custom controls) in der Registrierungsdatenbank von Windows eingetragen werden. Die Registrierung erfolgt über die Eigenschaften wpInstallCtxOffice
und wpInstallCtxDocEdit
des Application-Objekts (_App
). Zudem werden für die Registrierung Administratorenrechte benötigt.
// Registrierung CtxDocEdit
if (!_App->wpInstallCtxDocEdit)
_App->wpInstallCtxDocEdit # true;
Bei der Übergabe von false
werden die Einträge aus der Registry wieder entfernt.
// Deregistrierung CtxDocEdit
if (_App->wpInstallCtxDocEdit)
_App->wpInstallCtxDocEdit # false;
Damit die Registrierung erfolgreich vorgenommen werden kann, benötigt der Client einen Zugriff auf die OCX-Dateien.
Bei dem CtxOffice ist das im Normfall kein Problem, da die betreffende Datei standardmäßig im Clientverzeichnis vorhanden ist.
Für das CtxDocEdit-Objekt muss sichergestellt sein, dass das Common\CtxDocEdit-Verzeichnis vorhanden ist. Zudem muss sich das Verzeichnis eine Ebene über dem Startverzeichnis des CONZEPT 16-Clients befinden.
Für das Einrichten des CONZEPT 16-Clients auf einem Netzlaufwerk muss das Verzeichnis "Gemeinsame Komponenten" lediglich auf das Netzlaufwerk kopiert werden. Eine Installation auf den jeweiligen Arbeitsstationen ist nicht notwendig.
CtxAdobeReader
Für das CtxAdobeReader-Objekt ist CONZEPT 16-seitig keine Registrierung vorzunehmen, da Adobe bereits bei der Installation den COM-Server registriert.
3 Antworten
@Andreas
wenn bei einzelnen Usern das Objekt nicht funktioniert (und er sich auch nicht bei uns oder dem Sys-Admin meldet) kann er entweder keine Texte bearbeiten oder es muß bei ihm Word, ein RTF-Edit-Fenster oder ähnliches gestartet werden
@Th.Eichele
Ist das Verzeichnis nicht vorhanden, kann das CtxDocEdit-Objekt nicht verwendet werden. Ebenso ist die Registrierung zwingend notwendig. Was genau meinen Sie mit der "Alternativ-Prozedur" ?
was passiert, wenn das Verzeichnis nicht vorhanden ist, oder der Enduser keine Admin-Rechte hat ?
Muß ich dann vor jeder Verwendung des Objekts die _App-Eigenschaft abfragen und ggfs. eine Alternativ-Prozedur programmieren/aufrufen ?