Delphi - Paso de datos entre formularios o compartir evento

 
Vista:

Paso de datos entre formularios o compartir evento

Publicado por javier (1 intervención) el 04/08/2004 13:25:13
Hola:
Estoy haciendo un programa en Delphi y tengo un problema.
Tengo dos formularios: Form1 y Form4. En la sección de uses del Unit1 tengo incluido el Unit4 que corresponde a Form4, ya que Form1 llama a Form4 para que aparezca en pantalla.

La cuestión es que tengo un ListBox en Form4 y quiero que cuando presione en uno de los elementos del ListBox me aparezcan una serie de datos, relacionados con este elemento, en unos cuadros de texto de Form1. Delphi no me permite poner en la sección uses del Unit4 el Unit1, puesto que quedaria recursivo. Por tanto no puedo acceder a Form1 desde Form4. ¿Existe alguna posibilidad de que en el momento en el que presione en el ListBox salgan los datos en Form1? o ¿Podría capturar el TForm4.ListBoxClick en el Form1?.

Gracias. Un saludo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Paso de datos entre formularios o compartir eve

Publicado por Dr Juzam (821 intervenciones) el 04/08/2004 18:51:02
A continuación te pongo un código de ejemplo, a ver si soluciona tu problema:

UNIT1
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
Label1: TLabel;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

uses Unit2;
{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
Form2: TForm2;
begin
Form2:= TForm2.Create(Self);
Form2.Show;
end;

end.

UNIT2
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm2 = class(TForm)
ListBox1: TListBox;
procedure ListBox1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form2: TForm2;

implementation
uses Unit1;
{$R *.dfm}

procedure TForm2.ListBox1Click(Sender: TObject);
begin
Form1.Label1.Caption:=ListBox1.Items[ListBox1.ItemIndex];
end;
end.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Paso de datos entre formularios o compartir eve

Publicado por Dr Juzam (821 intervenciones) el 04/08/2004 18:52:05
Lo que hace es al pulsar un Botón en el Form1 llama al Form2 (lo crea). El Form2 tiene un ListBox. Cuando pico en el (evento OnClick), cambio un Label del Form1 con el texto que he clickeado.
Espero que te sea útil.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar