Ich würde gerne die Prozedur des Objekts in einem Datensatz verwenden, so:
%Vor%Ich kann damit ein Array nach Zuweisung erstellen:
%Vor%Was ich wirklich gerne tun würde, ist eine Konstante zu deklarieren:
%Vor%Ich bekomme jedoch Fehler für DoHelp und DoLoad - Konstanter Ausdruck erwartet. Dies sind zwei Methoden einer Klasse. Gibt es eine Syntax, die ich verwenden muss, um dies zu erledigen, oder bin ich beim Erstellen des Arrays zur Laufzeit fest?
Eine Objektmethode ist der sogenannte Zwei-Zeiger-Typ. Es enthält die folgenden Informationen:
Ersteres ist zur Kompilierungszeit bekannt, aber im Allgemeinen nicht. Aus diesem Grund müssen Sie diese Dinge in der Regel zur Laufzeit erstellen.
Wenn Sie festlegen können, dass der Betreff zum Zeitpunkt der Kompilierung bekannt ist, können Sie eine typisierte Konstante Ihres Datensatztyps deklarieren. Zum Beispiel:
%Vor%Das wird Ihnen natürlich nur dann nützlich sein, wenn Ihre Funktionen als Klassenmethoden und nicht als Instanzmethoden funktionieren. Ich füge nur den obigen Code hinzu, um zu veranschaulichen, dass Sie konstante Methodenzeiger haben können, solange der Betreff eine Kompilierzeitkonstante ist.
Sie können Zeiger auf Methoden in Ihren Datensätzen speichern (diese sind zur Kompilierungszeit bekannt, daher ist es kein Problem, sie in einer const-Definition anzugeben):
%Vor% Dann, wenn Sie fn
von cmds[i]
aufrufen müssen (ich nehme an, dass der Aufruf innerhalb derselben Klasse erfolgt, die die Methoden DoHelp
und DoLoad
definiert), schreiben Sie etwas wie:
Tags und Links delphi