PDA

Ver la Versión Completa : Saber el nombre de la form desde una unit nueva


richi
06-11-2006, 17:24:36
Hola a todos me haria falta saber cual es la form que me llamo a una unit que usan varias forms y no le puedo pasar el nombre de la form porque tendria que andar modificando la unit y al ser muy complega a lo mejor no funciona luego correctamente. Gracias.

roman
06-11-2006, 17:35:21
¿Podrías explicarte mejor? ¿Qué significa que un form llame a una unit y qué significa que la unit use varios forms? En fin, detalla más lo que quieres saber.

// Saludos

richi
06-11-2006, 17:41:15
Veamos esa unit es usada desde distintos programas. Y ademas en varias forms de los programas con lo cual me enteresaria saber quien la llamo. Para saber el ejecutable utilizo ExtractFileName(ParamStr(0)) y ahora lo que me interesa saber si se puede el NAME de la form del programa. Esto seria para almacenar en que momento fue llamada y la form de que programa.

rafita
07-11-2006, 10:14:28
Seguro que los gurús de Delphi que tenemos en estos foros te pueden dar alguna forma de obtener esos datos, por lo menos el programa que llama la unidad, aunque el nombre del formulario lo veo más difícil.

Yo te doy una idea más primitiva, que sólo puedes poner en práctica si la unidad y todos los programas que la llaman son tuyos:
* Antes de llamarla pon en una variable los datos que necesitas.
Ficha:=TFCallejero.Create(Self);
Ficha.VengoDe.Caption:='Menú Principal';
Ficha.ShowModal;
* En la unidad analizas esos datos.
if VengoDe.Caption='Menú Principal' then // en lugar de un label puedes utilizar una variable global
begin
...
end
else
if VengoDe.Caption='Resumen Anual' then
begin
...
end;

Como ves no utilizo enrevesadas funciones de windows (que lo harían automáticamente), pero me funciona.