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;
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}