No acabo de entender qué significa ésta frase:
"...
Lo prohibitivo es llamar a métodos no de clase desde un método de clase"
Se puede llamar desde un método definido como
class (
método de clase) a otros metodos de la misma clase (public o published -incluso privates y protected, aunque no sea recoimendable-) que no estén definidos como
métodos de clase (con
class); Eso no tiene ningun problema; Revisa el siguiente código:
NOTA: Corresponde a un formulario que utiliza un método de clase para crear e inicializarse.
Código Delphi
[-]
unit Unit2_classMethod;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm2 = class(TForm)
private
procedure LeerDisco;
public
procedure Inicializar;
published
class procedure Crear();
end;
var
Form2: TForm2;
implementation
{$R *.dfm}
class procedure TForm2.Crear;
var
F:TForm2;
begin
F := TForm2.Create(nil);
try
F.Inicializar;
F.LeerDisco;
F.ShowModal;
finally
F.Free;
end;
end;
procedure TForm2.LeerDisco();
begin
MessageDlg('Leyendo de disco...', mtInformation, [mbOK], 0);
end;
procedure TForm2.Inicializar();
begin
MessageDlg('Inicializando...', mtInformation, [mbOK], 0);
end;
end.
Para llamarlo utilizarías:
...tal vez no he entendido bien la cuestión, si es así pido discupas;
P.D: A ésto me refería con crear un método de clase que llama a otros métodos no de clase, de forma que desde fuera se puede llamar a
Crear, y desde dentro se puede llamar a
Inicializar y
LeerDisco.