Hey, Danke!
Damit ist das Problem gelöst. Nun weiß ich wenigstens, dass ich auch hier zwischen Prozeduren und Methoden unterscheiden muss.
Nachtrag:
Der Vorteil ist, dass ich das ganze sogar auf Funktionsmethoden erweitern kann, und somit über die Methode einen Rückgabewert liefern kann.
Delphi-Quellcode:
// TClassMEthod für Funktions-Methoden typisieren
type
TClassMethod = function( Self : TObject ) : String;
function TOCommandPluginWrapper.Execute
( const pParams : TAString )
: String;
var
MethodCaller : TClassMethod;
begin
// ...
MethodCaller := Self.MethodAddress( pParams[ 0 ] );
if Assigned( MethodCaller ) then
begin
Self.Params := Copy( pParams, 1, Length( pParams ) );
Result := MethodCaller( Self );
end
else
Result := 'Unknown method!' + #10 + pParams[ 0 ];
end;
P.S.:
Weils es mehrfach im Forum angemerkt wurde, dass ich die Konventionen für die Schreibweise von Quellcode nicht einhalte. Ich finde den Code auf Dauer lesbarer, wenn ich zusätzliche Zeilenumbrüche und Leerzeichen in den Quellcode einfüge. Wenn ich den ganzen Tag am Rechner sitze, ist diese Schreibweise meiner Meinung nach viel entspannter für das Gehirn, als wenn es eine Zeile Quellcode ohne Leerzeichen erst selbst in seine Bestandteile zerlegen muss. Durch die Leerzeichen ist der Prozess im Kopf schneller erledigt. Ansonsten, Probleme mit dem Compiler hatte ich deshalb nie.