yeah, i've seen description of 'static' usage at the mailing list (subj: crashing _self parameter)
This is a new feature for FPC, right? (catching up with new delphi syntax?) a few questions about that: 1) 'static' methods are regular procedures/functions, but bound to a class rather than a unit? 2) it's possible to pass 'static'-methods as procedure variables? TMyObject = class class procedure MyMethod; static; end; TProc = procedure; procedure MyProc; begin ... end; procedure DoSomething(CallBack: TProc); begin Callback(); // call here end; begin DoSomething(@MyProc); // it's possible DoSomething(@TMyObject.MyMethod); //it's possible either, with no extra type casting. end. 3) only class methods can be 'static'? it's impossible to declare a method like: TMyObject = class procedure MyMethod; static; end; 4) no Self parameter is available inside the 'static' method. (since it's regular procuder or function) 5) 'static' keyword is used only if compiler -St switch specified? 6) how are they actually named? because there're two kind of static methods available: TMyObject = class class function MyClassProc; // static class method class function MyClassVirtualProc; virtual; // virtual class method. can be overriden. class function MyClassVirtualProc; dynamic; // dynamic class method. can be overriden too class function MyClassProc; static; // "static" class method? end; Thanks, Dmitry _______________________________________________ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel