Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   creación de forms dinámica (https://www.clubdelphi.com/foros/showthread.php?t=28738)

dandia28 30-12-2005 12:36:10

creación de forms dinámica
 
Hola:

cual es el problema que si quiero acceder a las propiedades de un formulario desde otro .pas me da violación de acceso si lo hago en forma dinámica, pero no si lo hago de la forma tradicional es decir con autocreate forms. El tema es la gestión de recursos que no la quiero perder.
Estoy usando el siguiente procedimiento para crear los forms:

Código Delphi [-]
procedure MostrarForm(AClass: TFormClass;ATag: integer);
begin
with AClass.Create(Application) do
try
Tag := ATag;
ShowModal;
finally
Free;
end;
end;

Saludos, Daniel

dec 30-12-2005 16:02:26

Hola,

¿Las propiedades a que tratas de acceder realmente existen en la clase "TFormClass"? A veces queremos acceder a un formulario, por ejemplo, "frmEdicion", mediante una clase del tipo "TForm"... y eso no va bien, claro está. ¿Es la clase "TFormClass" el tipo de formulario que precisamente esperas que sea? ;)

dandia28 30-12-2005 17:18:34

lo solucione así, lo pongo por las dudas, no es lo mejor del mundo pero...anda

Código Delphi [-]
procedure TDM.MostrarForm(AClass: TFormClass;ATag: integer);
{Parametro "ATAG" de tipo entero: al valor de ATag lo estamos asignando
a la propiedad TAG del nuevo formulario }
begin
     F:=Application.FindComponent(Copy(AClass.ClassName,2,255))as TForm;
     Application.CreateForm(AClass,F);
     with f do
     try
        Tag := ATag;
        ShowModal;
     finally
        Free;
     end;
end;


La franja horaria es GMT +2. Ahora son las 22:45:13.

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