Ver Mensaje Individual
  #1  
Antiguo 17-08-2007
Avatar de b3nshi
b3nshi b3nshi is offline
Miembro
 
Registrado: feb 2005
Ubicación: Tucuman - Argentina
Posts: 164
Reputación: 20
b3nshi Va por buen camino
Como pasar un parametro?

Buenas... les cuento q este es un problema q lo tengo resuelto parcialmente con una solucion muy poco efectiva, por lo q queria saber si a alguien se le ocurre alguna manera mejor de hacerlo...

Esto es lo q tengo... una aplicacion MDI:

Formulario Principal: Contiene una tabla q se conecta a una base paradox...

Dicha tabla contiene: Apellido, Nombre y Edad de una persona. Al hacer doble clic en un registro de ella, esta tiene q abrir el form hijo y pasarle como parametro la cadena: "apellido+nombre+edad".

Formulario Hijo: Abre el archivo con el nombre: "apellido+nombre+edad", y muestra su info, lo hace desde el evento "oncreate". Contiene ademas un Label quien conservara el valor del nombre del archivo, ya q se pueden abrir varias personas al mismo tiempo.

El problema: Cuando abro este formulario, lo q quiero hacer es cargar el valor al label, para luego poder usar este valor en otros botones, sin necesidad de estar creando una variable global, q es como lo estoy haciendo... ya q por ejemplo puedo abrir varias personas al mismo tiempo, y si abro dos personas al mismo tiempo esta variable global tomara el valor del ultimo abierto...

Mi solucion:

Código Delphi [-]
    
   with tfcontactos.Create(application) do
    begin
      name := apellido+nombre+edad;
      top := 0;
      left := 0;
      label1.Caption := table1.FieldValues['Apellido'] + ' ' + table1.FieldValues['Nombre'] + ' ' + inttostr(table1.FieldValues['Edad']);
      show;
    end;
 
//Doy un valor a una variable global
varglobal:= apellido+nombre+edad;

Y en el oncreate del Formulario Hijo:

Código Delphi [-]
   AssignFile(archivo, 'Ruta\' + varglobal);

Y luego cada vez q quiero volver a trabajar sobre el archivo uso el valor del label y solo una vez, en su creacion utilizo el valor de la variable global, ya q luego si abro otra ventana esta pierde su valor y toma el del ultimo contacto seleccionado.

Mi pregunta: Existe alguna forma mejor de hacerlo sin estar usando una variable global? es decir alguna forma de hacer q el oncrete me tome directamente este valor?

Desde ya muchisimas gracias!

{Saludos}
Responder Con Cita