ComPropGet
obj -> ComPropGet(alpha1, var2[, int3, ..., int6]) : int
Eigenschaft eines COM-Objektes abfragen
Details
- obj: COM-Objekt
- alpha1: Name der Eigenschaft
- var2: Wert der Eigenschaft
- int3-int6: zusätzliche Informationen
- Resultat:
intFehlerwert - Siehe: Verwandte Befehle ,
ComOpen (),ComPropSet (),ComPropGetText ()
Dieser Befehl liest eine Eigenschaft eines COM-Objektes aus.
In (obj) wird der Deskriptor des COM-Objektes und in (alpha1) der Name der auszulesenden Eigenschaft übergeben. Der Wert der Eigenschaft wird in die in (var2) angegebenen Variablen übertragen.
Die Typenüberprüfung findet erst zur Laufzeit statt.
Kann die Eigenschaft nicht gelesen werden, kommt es zu einem Laufzeitfehler. Laufzeitfehler können in einem try-Block abgefangen und verarbeitet werden (siehe auch ErrTryCatch ()). Der Rückgabewert entspricht dem Laufzeitfehler oder _ErrOk.
Beispiel:
local
{
tCaption : alpha;
}
...
// Microsoft Word starten
tComApp # ComOpen('Word.Application', _ComAppCreate);
// Eigenschaft Caption (Fenster-Titel) der Applikation auslesen
if (tComApp->ComPropGet('Caption', tCaption) != _ErrOk)
{
WinDialogBox(0, 'Fehlermeldung',
'Fehler beim Auslesen der Eigenschaft Caption.',
_WinIcoError, _WinDialogOK, 0);
}
...
Das Auslesen der Eigenschaft kann ebenfalls über entsprechende Konstanten erfolgen. Die Zusammensetzung der Konstanten ist im Abschnitt COM-Befehle beschrieben.
local
{
tCaption : alpha;
}
...
// Microsoft Word starten
tComApp # ComOpen('Word.Application', _ComAppCreate);
// Eigenschaft Caption der Applikation (Fenster-Titel) auslesen
tCaption # tComApp->cpaCaption;
Muss bei einer Eigenschaft ein Parameter vom Typ Enum angegeben werden, kann der entsprechende Parameter in (int3) angegeben werden. Bei der Verwendung von Konstanten, wird der Parameter in einer Klammer hinter der Konstante angegeben.
local
{
tCurrencyCode : alpha;
}
...
// Microsoft Word starten
tComApp # ComOpen('Word.Application', _ComAppCreate);
// Währungssymbol auslesen
tComApp->ComPropGet('International', tCurrencyCode, wdCurrencyCode);
// alternativ dazu
tCurrencyCode # tComApp->cpaInternational(wdCurrencyCode);
Die Konstante wdCurrencyCode wird mit dem Wert 20 definiert.
Soll die erweiterte Eigenschaft Array ausgelesen werden, muss in den Parametern (int3) - (int6) die Zelle des Array angegeben werden.
// Zelle eines 2-dimensionales Arrays abfragen
tArray->ComPropGet('Item', aValue, 1, 1);