| Call methods conventions | safecall | stdcall | cdecl | register | 
	
Smart pascal source code
{ unit e.pas }
unit E;
interface
uses 
  SmartCL.System;
type
   TMyClass = class
      class procedure Test1; safecall;
      procedure Test2; stdcall;
      method Test3; virtual; cdecl;
   end;
implementation
{ TMyClass }
procedure Test4; register;
begin
  //
end;
procedure Test5; overload; pascal;
begin
  //
end;
class procedure TMyClass.Test1;
begin
  Test4;
end;
procedure TMyClass.Test2;
begin
  Test5;
end;
method TMyClass.Test3;
begin
  Test5;
end;
end.
{ uMain.pas }
uses e;
var
  m : TMyClass;
BEGIN
  m := TMyClass.Create;
  m.Test1;
  m.Test2;
  m.Test3;