Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #6  
Antiguo 26-09-2003
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Posteado originalmente por santiago14
Ahora... como resuelvo el problema??
¿Cómo creas Form2?

Como te dije antes, si usas una variable local a Form1 entonces Form3 no la verá; sólo verá la variable Form2 declarada en Unit2 que es nil ya que no está en el "auto-create".

Puedes hacer lo siguiente:

No usar una variable local al momento de crear Form2 sino usar la declarada en Unit2. Desde luego debes agregar Unit2 a la cláusula uses tanto de Unit1 como de Unit3 para qe ambas la vean. Lo correcto es en la parte de implementación.

Por otra parte, según entiendo de tu código, Form3 la necesitas para asignar un valor a un cuadro de texto de Form2 y la cierras apenas sucede esto.

No es muy buena idea acceder a los controles de un formulario desde otro formulario; incluso hay quienes piensan que los controles de un formulario deberían ser privados y no públicos cómo hace Delphi.

Piensa en lo que hace un cuadro de diálogo como FileOpen. El diálogo no coloca ningún valor en el formulario que lo abre; lo que hace es dejar ese valor en una propiedad pública (FileName en este caso) de manera que el formulario que lo abrió puede usar el valor.

Dicho esto quizá te convenga algo así:

Código:
TForm3 = class(TForm)
public
  Propiedad: String;
end;
En el evento OnCloseQuery de Form3 pones:

Código:
if ModalResult = mrOk then
  Propiedad := el valor que necesitas;
Form2 llamará a Form3 así:

Código:
with TForm3.Create(nil) do
begin
  if ShowModal = ID_OK then
    Edit1.Text := Propiedad;

  Free;
end;
El punto fino en ésto es la separación de trabajos. Regresando al FileOpenDialog, éste no sabe, ni tiene por qué saber nada acerca del formulario que lo llama; su labor es escoger un archivo y punto

En tu caso me parece que es algo similar; Form3 no tiene por qué saber de la existencia de Form2, simplemente hace su labor de ajustar Propiedad y punto.

// Saludos

Última edición por roman fecha: 26-09-2003 a las 19:32:14.
Responder Con Cita
 


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 00:21:24.


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