Du musst einfach deinen Werkzeugkasten für Debugging auspacken und den Fehler suchen:
Delphi-Quellcode:
procedure TOCommandPluginProcess.Test( );
begin
// 1. Self muss ungleich nil sein
Assert(Assigned(self));
// 2. Self muss die richtige Klasse haben
// es ist selten, kann aber vorkommen, dass self auf ein Objekt der falschen Klasse zeigt
Assert(self
is TOCommandPluginProcess);
// 3. ist TAString eine Klasse ?
// Falls ja, ist auch noch folgende Bedingung nötig
Assert(Assigned(self.Params));
// hier wird die Exception ausgelöst (jetzt vielleicht nicht mehr)
ShowMessage( '
Inside TOCommandPluginProcess.Test: ' + IntToStr( Length( Self.Params ) ) );
end;
PS: deine Schreibweise der Klammern bei einer Funktion ist ungünstig.
Zwischen dem Methodenname und der öffnenden Klammer sollte kein Weißraum sein!
http://dn.codegear.com/article/10280#4.2.2