Ver Mensaje Individual
  #9  
Antiguo 18-11-2004
jplj jplj is offline
Miembro
 
Registrado: oct 2003
Posts: 189
Reputación: 21
jplj Va por buen camino
Parte de mi pregunta era si dentro de la propia clase se puede llamar a un método de clase de ella.

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;
    { Private declarations }
  public
    { Public declarations }
    procedure Inicializar;
  published
    class procedure Crear();
    class function Suma(x, y: integer): Integer;  
end;
var
  Form2: TForm2;
implementation
{$R *.dfm}
{ TForm2 }

class function Suma(x, y: integer): Integer;
begin
   result:= x+y;
end;

class procedure TForm2.Crear;
var
  F:TForm2;
begin
  // Crear el objeto
  F := TForm2.Create(nil);
  // Bloque de proteccion
  try
    // Llamar a "Método no de clase"
    F.Inicializar;
    // Llamar a "Método no de clase" que además está PRIVATE; 
    // Lo permite porque está en la misma Unit 
    // (entiendo que no se debería utilizar)
    F.LeerDisco;
    // show 
    F.ShowModal;
  finally
    F.Free;
  end;
end;
 
procedure TForm2.LeerDisco();
begin
  MessageDlg('Leyendo de disco... La suma es: ' + IntToStr(Suma(4,5)),    mtInformation, [mbOK], 0);  
end;

procedure TForm2.Inicializar();
begin
  MessageDlg('Inicializando...', mtInformation, [mbOK], 0);
end;
end.

Y luego desde otro punto de la apliación (otra unit):

Código Delphi [-]
    
    j:= TForm2.Suma(5,4);
__________________
Sonríe. Mañana puede ser peor.
Responder Con Cita