Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Saber el nombre de la form desde una unit nueva (https://www.clubdelphi.com/foros/showthread.php?t=37198)

richi 06-11-2006 17:24:36

Saber el nombre de la form desde una unit nueva
 
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.
Código:

  Ficha:=TFCallejero.Create(Self);
  Ficha.VengoDe.Caption:='Menú Principal';
  Ficha.ShowModal;

* En la unidad analizas esos datos.
Código:

  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.


La franja horaria es GMT +2. Ahora son las 04:26:34.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi