Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Internet (https://www.clubdelphi.com/foros/forumdisplay.php?f=3)
-   -   No despliega Forma (https://www.clubdelphi.com/foros/showthread.php?t=80966)

to_to 27-09-2012 21:20:57

No despliega Forma
 
Hola foro, algo que parece sencillo no me está resultando.

Estoy trabajando con IntraWeb de Delphi 2006, al intentar desplegar una forma no se ve, no marca error pero simplemente no hace nada.

Este es el código que estoy utilizando:

Código Delphi [-]
Var
  IWForma : TIWFTest;
begin
      If (IWForma = Nil) then
        IWForma := TIWFTest.Create(nil);
      IWForma.Show;
end;

Este es el código de la forma que ya está creada, simplemente muestra una etiqueta:


Código Delphi [-]
unit IWFrmTest;

interface

uses
  Classes, SysUtils, IWAppForm, IWApplication, IWColor, IWTypes, Controls,
  IWVCLBaseControl, IWBaseControl, IWBaseHTMLControl, IWControl, IWCompLabel;

type
  TIWFTest = class(TIWAppForm)
    IWLabel1: TIWLabel;
  public
  end;

implementation

{$R *.dfm}

end.

Así estoy desplegando otras formas y si las despliega, alguna sugerencia?

Gracias por su atención.

elarys 27-09-2012 23:02:37

Y seguramente porque no entra en el evento Create
Alguien con mas experiencia, te lo explicara

Código Delphi [-]
var
  IWForma : TIWFTest;
begin
  If not (IWForma = Nil) then
    IWForma := TIWFTest.Create(nil);
  IWForma.Show;

//o asi

  if Assigned(IWForma) then
    IWForma := TIWFTest.Create(nil);
  try
    IWForma.Show;
  except
    IWForma := TIWFTest.Create(nil);
    IWForma.Show;
  end;

to_to 27-09-2012 23:30:39

Muchas gracias por tu observación...., con las trasnochadas ya no compilo bien.., tienes toda la razón, hasta pena me dio ver lo que es. Nuevamente gracias.

escafandra 28-09-2012 00:32:40

Simplemente así:

Código Delphi [-]
var
  IWForma : TIWFTest;
begin
  IWForma := TIWFTest.Create(nil);
  IWForma.Show;
end;

Saludos.

to_to 28-09-2012 04:35:09

Gracias por tu aporte, aunque si es necesario validar si ya está creada la forma para evitar el error de crearla 2 veces.

escafandra 28-09-2012 06:47:38

Cita:

Empezado por to_to (Mensaje 445674)
Gracias por tu aporte, aunque si es necesario validar si ya está creada la forma para evitar el error de crearla 2 veces.

En ese caso, el planteamieto con una variable local IWForma debe cambiarse pues por mucho que valides, nunca estará asignada. IWForma debe ser una variable global o diseñar la clase TIWFTest como singleton, según tus necesidades.


Saludos.


La franja horaria es GMT +2. Ahora son las 14:30:26.

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