Deixar função generica
galera, tem como deixar essa função generica?
eu poderia passar o nome do form como parametro para ela, ai ela retorna se o form jah esta aberto ou não.
function TFormPrincipal.ProcuraFormCountry: TFormCountry; var i : integer; begin result := nil; for i := 0 to Screen.FormCount - 1 do if(Screen.Forms[i] is TFormCountry)then begin result := (Screen.Forms[i] as TFormCountry); break; end; end;
eu poderia passar o nome do form como parametro para ela, ai ela retorna se o form jah esta aberto ou não.
Zumbi
Curtidas 0
Respostas
Massuda
04/04/2006
Pode fazer algo assim.....note que você talvez você tenha que fazer typecast do valor retornado pela função.
function TFormPrincipal.ProcuraFormPelaClasse(const AClasse: TFormClass): TForm; var i : integer; begin result := nil; for i := 0 to Screen.FormCount - 1 do if(Screen.Forms[i] is AClasse)then begin result := Screen.Forms[i]; break; end; end;
GOSTEI 0
Zumbi
04/04/2006
teria como ser esse parametro uma string em vez de TFormClass?
GOSTEI 0
Massuda
04/04/2006
[url=http://forum.clubedelphi.net/viewtopic.php?t=63052]Neste tópico[/url] tem um exemplo meu de como criar um form pelo nome da classe; use um esquema parecido para procurar um form pelo nome da classe.
GOSTEI 0
Zumbi
04/04/2006
galera olha ai como ficou minha função.
function ExistsForm(sNomeForm: String): Boolean; var iCont: Integer; begin Result := False; for iCont := 0 to Screen.FormCount -1 do begin if TForm(Screen.Forms[iCont]).Name = sNomeForm then Result := True; break; end; end;
GOSTEI 0