Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 10-10-2005
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 26
maeyanes Va por buen camino
Tienes varias opciones, aquí te doy unas:

1. Agregar la unidad del formulario N1 a la claúsula uses del formulario padre:
Código Delphi [-]
implementation

uses { Lista de unidades... }, N1Unit;
ya con esto puedes hacer lo que te indican arriba:
Código Delphi [-]
if Assigned(N1) then
  // ...

2. Crear procedimientos o propiedades en el formulario N2 que permitan al formulario padre saber si ya está creado N1:
Código Delphi [-]
TN2 = class(TForm)
private
  //...
protected
  //...
public
  function IsN1Created: Boolean;
  procedure SetFileNameN1(const AFileName: string);
end;

implementation

uses N1Unit;

function TN2.IsN1Created: Boolean;
begin
  Result := Assigned(N1)
end;

procedure TN2.SetFileNameN1(const AFileName: string);
begin
  if IsN1Created then
    N1.Labe1.Caption := AFileName
end;
y desde el formulario padre:
Código Delphi [-]
begin
  if N2.IsN1Created then
    N2.SetFileNameN1(FileBox1.FileName);
  //...
end;

Espero que algo de esto te sirva...



Saludos...
Responder Con Cita
  #2  
Antiguo 13-10-2005
Avatar de Durbed
Durbed Durbed is offline
Miembro
 
Registrado: ago 2004
Posts: 166
Poder: 23
Durbed Va por buen camino
Ninguna de esas soluciones me funciono, gracias de todas formas, al final lo he conseguido con dos variables y un timer, asi cuando creo la ventana hija el timer empieza a comprobar en la variables (Estan en una unidad comun a toda la aplicacion) si la ruta del fichero se ha actualizado.

Un saludo y gracias.
__________________
Intentando hacer algo con Delphi 7 y Firebird 1.5
Responder Con Cita
  #3  
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


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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 11:28:05.


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