Regular procedures are declared OUTSIDE class declaration. "Procedure of object" or simply "method", is declared INSIDE class declaration. Depending on the problem context, you can put your own method in existing classes or write a new class and put it there instead. Technically, the difference lies in the hidden Self parameter. For methods, this refers to the current instance of the owning class. For procedures, this doesn't exist (well, what instance of what class should it refer to?) and thus, the two need to be considered different.