__automated
Nach oben zu Schlüsselwörter alphabetisch - Index
Inhaltsverzeichnis
Kategorie
Syntax
_automated: <declarations>
Beschreibung
Die Regeln für die Sichtbarkeit von automated-Elementen sind identisch mit denen der public-Elemente. Der einzige Unterschied zwischen automated- und public-Elementen ist, dass OLE-Automatisierungsinformation für Elementfunktionen und Eigenschaften generiert wird, die in automated-Abschnitten deklariert werden. Diese OLE-Automatisierungs-Typinformation macht es möglich, OLE-Automatisierungsserver zu erzeugen.
- Für eine Elementfunktion müssen die Typen aller Parameter der Elementfunktion und alle Funktionsergebnisse (wenn vorhanden) automatisierbar sein. Ähnlich müssen für eine Eigenschaft der Eigenschaftstyp und die Typen einer Array-Eigenschaftsparameter automatisierbar sein. Die automatisierbaren Typen sind: Currency, OleVariant, DelphiInterface, double, int, float, short, String, TDateTime, Variant und unsigned short. Die Deklaration von Elementfunktionen oder Eigenschaften in __automated-Abschnitten, die nicht-automatisierbar sind, führen zu einen Compilierzeitfehler.
- Deklarationen von Elementfunktionen müssen die Aufrufkonvention __fastcall verwenden.
- Elementfunktionen können virtual sein.
- Elementfunktionen können __dispid(konstanter int ausdruck) nach der schließenden Klammer der Parameterliste hinzufügen.
- Eigenschaftsdeklarationen können nur Zugriffsspezifizierer (__dispid, read und write) enthalten. Andere Spezifizierer (index, stored, default, nodefault) sind nicht erlaubt.
- Eigenschafts-Zugriffsspezifizierer müssen einen Elementfunktionsbezeichner enthalten. Datenelement-Bezeichner sind nicht erlaubt.
- Eigenschaftzugriffs-Elementfunktionen müssen die Aufrufkonvention __fastcall verwenden.
- Eigenschaftsdeklarationen die den Eigenschaftstyp nicht enthalten, sind nicht erlaubt.
Beispiel
class Test : public System::TObject
{
__automated:
int __fastcall getI(void) __dispid(4);
__property int I = {read=getI, dispid=3};
};