Ver Mensaje Individual
  #3  
Antiguo 15-06-2012
Aurepilo Aurepilo is offline
Miembro
 
Registrado: may 2010
Posts: 18
Reputación: 0
Aurepilo Va por buen camino
Bueno, el codigo es simple:

Código:
Uses

Unit2

...

Implementation

procedure TForm4.Button4Click(Sender: TObject);
 var
  form2: TForm2;
begin
  if MessageDlg('Esto creará un nuevo expediente. ¿Desea continuar?', mtConfirmation, [mbOk, mbCancel], 0) = mrCancel then close
  else
  begin
  creaexpediente;
  form2 := TForm2.Create(NIL);
  form2.ShowModal;

  end;
end;
El proceso creaexpediente simplente hace un INSERT en una base de datos access, pero no hace falta para resolver esto

En el Form2 he probado de todo.... para intentar modificar la listbox o los edit que existe en el Form1 y ninguna funciona. Por ejemplo:

Código:
procedure TForm2.Button1Click(Sender: TObject);
begin
Form1.Labelededit2.text := 'NO FUNCIONA';
FORM1.UpdateApplication;
MyGlobals.nomclient := ListBox1.Items.Strings[ListBox1.ItemIndex];
Form1.reactiva;

Form1.CheckListBox1.Refresh;
Form1.CheckListBox1.Items.Add('memo');
Form1.Repaint;
CLOSE;
end;
Me explico:

He intentado hacerlo por las bravas: Form1.Labelededit2.text := 'NO FUNCIONA'; resultado: NADA
A traves de un procedimiento llamado UPDATEAPLICATION, que actualiza todas las ventanas, por si hubiera algun tipo de "desfase"
A base de añadir una classe en otro formulario llamada MyGlobals que contiene las variables que quiero pasar (MyGlobals.nomclient := ListBox1.Items.Strings[ListBox1.ItemIndex]
a traves de un proceso en la FORM1 llamado "reactiva" que, básicamente, lo que hace es un form1.activate, esperando que ello lance el onactivate... pero eso tampoco funciona.
Y finalmente con repaint y refresh, a ver si la cosa cambia, pero no.
Responder Con Cita