Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 13-10-2005
rounin rounin is offline
Miembro
 
Registrado: sep 2005
Posts: 43
Poder: 0
rounin Va por buen camino
Saludos,

Si solo un exemplar de TN1 puede existir,
deja la clase TN1 ser responsable de la existencia de exemplar.

if TN1.IsExemplarCreate then ...
//TN1.UniqueExemplar.DoSomething;

Código Delphi [-]
 
 
type
  TN1 = class(TForm)
  private
    { Private declarations }
  public
    constructor Create(AOwner: TComponent); override;
    destructor Destroy; override;
    class function UniqueExemplar: TN1;
    class function IsExemplarCreated: Boolean;
  end;
 
//var
// N1: TN1;
 
implementation
{$R *.dfm}
 
var
  theUniqueExemplar: TN1;
 
constructor TN1.Create(AOwner: TComponent);
begin
  inherited;
  if theUniqueExemplar = nil then
    theUniqueExemplar := Self else
    raise Exception.Create('Only one exemplar of TN1 is allowed');
end;
 
destructor TN1.Destroy;
begin
  theUniqueExemplar := nil;
  inherited;
end;
 
class function TN1.IsExemplarCreated: Boolean;
begin
  Result := Assigned(theUniqueExemplar);
end;
 
class function TN1.UniqueExemplar: TN1;
begin
  if not IsExemplarCreated then {theUniqueExemplar := } TN1.Create(Application);
  Result := theUniqueExemplar;
end;

PS Es no buen estilo usar variables globales para
MDI-formularios, porque frequente hay mas que un ejemplar.

Última edición por rounin fecha: 13-10-2005 a las 14:00:37.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 03:25:04.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi