2.58 .connect
Dieses Attribut definiert beim Objekt application den Zustand und die Eigenschaften der Verbindung zu einem Server-Prozess. Bei den Objekten control und subcontrol definiert es den Zustand der OLE-Verbindung.
Definition
-
Datentyp
string (application)
boolean (control, subcontrol)
-
Zugriff
get, set
-
changed-Ereignis
ja

-
C
Datentyp: DT_string (application)
Datentyp: DT_boolean (control, subcontrol)
-
COBOL
Datentyp: DT-string (application)
Datentyp: DT-boolean (control, subcontrol)
-
Klassifizierung
Objektspezifisches Attribut
-
Objekte
Dieses Attribut definiert, dass sich die Anwendung mit einem laufenden Server-Prozess in Verbindung setzen soll, der auf dem Host gestartet worden ist.
Beim TCP/IP-Protokoll gilt für den Attributwert die Syntax
"<host>:<portnumber>"
wobei entweder der Name des Hosts oder seine IP-Adresse angegeben werden kann.
Um die Verbindung über SSL durchzuführen kann bei der Spezifikation der Verbindung über .connect das Schema "ssl://" vorangestellt werden (Beispiel .connect "ssl://myserver:0815";).
Beispiel
|
|
---|---|
application Appl { .connect "localhost:4711"; } |
application Appl {
.connect "ssl://localhost:4711";
}
|
Anmerkungen
- Die Attribute .transport, .connect und .exec können nur geändert werden, wenn .active = false ist.
- Die Attribute .connect und .exec sind vom verwendeten Transport abhängig, d.h. zukünftige neue Arten einer Transportschicht können andere Arten des Verbindungsaufbaus enthalten.
- Auch beim Attribut .transport kann das Schema "ssl://" angegeben werden. Wenn bei beiden Attributen ein Schema angegeben ist, muss es identisch sein. Ein einmal angegebenes Schema "ssl://" lässt sich nicht mehr abstellen.
-
Ab IDM-Version A.05.02.i unterstützt der Distributed Dialog Manager (DDM) das IPv6-Protokoll auf allen Architekturen, die IPv6 nativ unterstützen.
Dieses Attribut definiert den Zustand der Verbindung zum OLE-Client bzw. zum OLE-Server. Nur wenn eine Verbindung existiert, können die Dienstleistungen des OLE-Servers in Anspruch genommen werden.
Bei der Programmierung eines Controls im Client-Modus ist zu berücksichtigen das mit dem Setzen von .connect := true keine Verbindung zum Server geschaffen wird und das auch mit der Abfrage auf .connect = true nicht überprüft werden kann. Das Verbinden und Überprüfen zu einem Server ist erst möglich, wenn das Objekt sichtbar ist. Das Setzen/Erfragen einer Property oder Aufruf von Methoden ist damit erst möglich wenn das Objekt sichtbar ist. Dieses kann mit Hilfe des Attributs .real_visible = true überprüft werden.
Der Vorgabewert für das Attribut ist false, d.h. es besteht keine Verbindung zu einem OLE-Server. Wird das Attribut auf true umgesetzt, versucht das Subcontrol, eine Verbindung zu einem OLE-Server (normalerweise eine Collection) des zum Vaterobjekt gehörenden OLE-Servers zu bekommen. Der Bezeichner des Subcontrols hat dabei dem Attributnamen des zuerst genannten OLE-Servers zu entsprechen.
Im folgenden Beispiel wird die Documents-Collection des Word-OCX konnektiert:
dialog WordClient
window WnFenster
{
.title "WordClient";
on close { exit; }
control CoWord
{
.mode mode_client;
.name "Word.Application";
.visible true;
.connect true;
child subcontrol Documents { }
}
}
on dialog start
{
CoWord.Visible := true;
Documents.connect := true;
print Documents.connect; // Sollwert true
}
Eine Verbindung kann nur dann erfolgreich aufgebaut werden, wenn der Vater realisiert und konnektiert ist und der Bezeichner des Subcontrols mit dem Namen des OLE-Server-Attributs übereinstimmt.
Wird das Attribut .connect auf false gesetzt, bricht die Verbindung zu dem konnektierten OLE-Server ab. Bei der gegenwärtigen Implementierung bleiben die Kinder eines Subcontrols dann jedoch trotzdem konnektiert!
Dies bedeutet auch: verliert das Vaterobjekt (egal ob Control oder Subcontrol) seine Verbindung wenn das Attribut bereits den Wert true hat, bleibt die Verbindung des Subcontrols trotzdem erhalten.