Ver Mensaje Individual
  #4  
Antiguo 01-11-2010
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola lucasart.

Si, tenés razón. Al cambiar de SDI a MDI, el segundo form en el evento OnShow, pareciera que no tiene aún el valor asignado ...

Es un comportamiento que yo también desconocía... lo voy a investigar.

Pero hasta que averiguemos alguna manera más elegante de hacerlo, a ver si esto te sirve:

MDIForm:
Código Delphi [-]
uses Unit2, ClipBrd;

procedure TForm1.Mostrar;
var
  i: Integer;
begin
  for i:= 0 to Screen.FormCount -1 do
   if Screen.Forms[i].ClassName = 'TForm2' then
   begin
     Screen.Forms[i].Show;
     Screen.Forms[i].BringToFront;
     Exit;
   end;
   TForm2.Create(nil);
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  Numero: Integer;
begin
  Mostrar;
  Numero:= 1234;
  ClipBoard.Clear;
  ClipBoard.SetTextBuf(PChar(IntToStr(Numero)));
end;

MDIChild:
Código Delphi [-]
uses ClipBrd;

procedure TForm2.FormShow(Sender: TObject);
begin
  f_id_Ajuste:= StrToInt(ClipBoard.AsText);
  Caption:= IntToStr(f_id_Ajuste);
end;


Saludos.

Última edición por ecfisa fecha: 01-11-2010 a las 22:05:28.
Responder Con Cita