Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 21-04-2005
Avatar de lucasarts_18
lucasarts_18 lucasarts_18 is offline
Miembro
 
Registrado: mar 2005
Ubicación: Villa Alemana,Chile
Posts: 1.087
Poder: 21
lucasarts_18 Va por buen camino
Problemas al crear Form

Holas a todos:

Tengo el siguinete código:

Código Delphi [-]
 procedure TFrmPowerM.FormShow(Sender: TObject);
 var
 varform:TFrmArchivos;
 begin
    varform := TFrmArchivos.Create(FrmPowerM); *****
    try
      varform.Show;
    finally
      varform.Free;
      FrmPowerM.SetFocus;
    end;
 end;

En la parte de **** me sale un error en el acceso de memoria.
Lo encuentro raro ya que tengo en otro programa el mismo código de arriba y no me da ningún problema.

Atte Aarón García A.

Última edición por Neftali [Germán.Estévez] fecha: 21-04-2005 a las 09:09:50. Razón: Añadidos TAG's en el código Delphi
Responder Con Cita
  #2  
Antiguo 21-04-2005
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
(1) Utiliza TAG's en el código Delphi (los de arriba ya te los he colocado yo).
(2) El código que has colocado, no tiene nada raro, como mínimo nada que tenga que fallar (exceptuando que no está la declaración de la variable FrmPowerM, aunque supongo que será estandard). De todas formas yo probaría con Self o con Application.
(3) Otro comentario acerca del código es que tal y como está nunca vas a llegar a ver el form varform, ya que haces un Show e inmediatamente después un Free. Tal vez debería utilizar un ShowModal.
(4) ¿Tienes algun código especial en el Show o Create del form varform? Tal vez ese sea el problema.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #3  
Antiguo 21-04-2005
Avatar de lucasarts_18
lucasarts_18 lucasarts_18 is offline
Miembro
 
Registrado: mar 2005
Ubicación: Villa Alemana,Chile
Posts: 1.087
Poder: 21
lucasarts_18 Va por buen camino
Hola Neftalí:

ya encontré el problema, al momento de crear el formulario yo hago otras instrucciones en éste:

Código:
procedure TFrmArchivos.FormCreate(Sender: TObject);
begin
   frmArchivos.Left := FrmPowerM.Left + frmPowerM.Width;
   frmArchivos.Top := FrmPowerM.Top;
end;
Al ver que el error que se producía, comente las instrucciones y ya no me levanta la excepción, pero yo necesito ese código para que aparezcan juntos los dos formularios, se entiende ?

Saludos

PD: No encontré los tag que mencionaste,utilicé code pero no queda igual que a tí .
Responder Con Cita
  #4  
Antiguo 21-04-2005
Avatar de defcon1_es
defcon1_es defcon1_es is offline
Miembro
 
Registrado: mar 2004
Ubicación: Cuenca - España
Posts: 533
Poder: 21
defcon1_es Va por buen camino
Hola,
creo que sería más eficiente que definieses un método público (supongo) en frmArchivos para asignar esos valores a las propiedades Left y Top , con lo que evitarías un uses a FrmPowerM en frmArchivos.

Ejp:
Código Delphi [-]
procedure TFrmArchivos.Posicion_en_Pantalla(Izq, Alto : Integer);
begin
  Self.Left := Izq;
  Self.Top := Alto;
end;

......
......

 procedure TFrmPowerM.FormShow(Sender: TObject);
 var varform:TFrmArchivos;
 begin
    varform := TFrmArchivos.Create(FrmPowerM);
    try
// Despues de crear el formulario, lo colocamos en pantalla.
      varform.Posicion_en_Pantalla(Self.Left + Self.Width, Self.Top);
{
De forma directa tambien puedes colocar ese formulario:
      varform.Left := Self.Left + Self.Width;
      varform.Top := Self.Top;
}
      varform.ShowModal;
    finally
      varform.Free;
      FrmPowerM.SetFocus;
    end;
 end;

Salu2.
__________________
Progress Openedge
https://abevoelker.com/progress_open...dered_harmful/


Delphi forever...
Responder Con Cita
  #5  
Antiguo 21-04-2005
Avatar de lucasarts_18
lucasarts_18 lucasarts_18 is offline
Miembro
 
Registrado: mar 2005
Ubicación: Villa Alemana,Chile
Posts: 1.087
Poder: 21
lucasarts_18 Va por buen camino
Hola defcon1_es:

Gracias por la solución, ahora puedo hacer lo que tenía pensado.

Pero no entiendo por qué me pasaba eso, espero que alguien sepa y que me explique.

Gracias amigos .

Saludos.
Aarón.
Responder Con Cita
  #6  
Antiguo 22-04-2005
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por lucasarts_18
...ya encontré el problema, al momento de crear el formulario yo hago otras instrucciones en éste...
...Al ver que el error que se producía, comente las instrucciones y ya no me levanta la excepción, pero yo necesito ese código para que aparezcan juntos los dos formularios, se entiende ?
Yo utilizaría ese código en el OnShow en lugar de en el Create. Cambia el código por éste:

Código Delphi [-]
 if Assigned(FrmPowerM) then begin
   Self.Left := FrmPowerM.Left + frmPowerM.Width;
   Self.Top := FrmPowerM.Top;
 end;


Cita:
Empezado por lucasarts_18
No encontré los tag que mencionaste,utilicé code pero no queda igual que a tí .
Utiliza los mismos TAG's que has puesto, pero cambiando la palabra CODE por la palabra delphi.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #7  
Antiguo 22-04-2005
Avatar de lucasarts_18
lucasarts_18 lucasarts_18 is offline
Miembro
 
Registrado: mar 2005
Ubicación: Villa Alemana,Chile
Posts: 1.087
Poder: 21
lucasarts_18 Va por buen camino
Hola Neftalí:

Gracias por todo.

Saludos.
Aarón.
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 00:42:46.


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