Ir para conteúdo
Fórum Script Brasil

jessegestin

Membros
  • Total de itens

    3
  • Registro em

  • Última visita

Tudo que jessegestin postou

  1. Ok jhonas! Vlw pelas dicas ai!!! Muito bom!! Solução que no meu caso realmente funcionou: Chamar os Formulários desta forma: Application.CreateForm(TForm34NotafiscalEntrada,Form34NotafiscalEntrada); // não usar a forma do Self E no OnClose trocar //Form34NotafiscalEntrada.Free; Por: Action := CaFree; O resto mantive o mesmo, e funcionou! Obrigado pela ajuda e pela atenção!!!! Abraços !! [Resolvido]
  2. Bom Dia! Esta linha verifica se é o principal, pra dar continuidade no código ou não: if not(TForm(Application.Components[n]) = Application.MainForm) then Se for, ele não passa pela linha que fecha o form. Abraços
  3. Boa Tarde!! No meu projeto, alguns forms são criados normalmente junto com a inicialização. da aplicação. O padrão do Delphi. Só que, o resto dos forms ( a grande maioria), são criados em tempo de execução por um click de um botão de um RIBBON. if Form34NotafiscalEntrada = nil then begin //Form34NotafiscalEntrada := TForm34NotafiscalEntrada.Create(Self); Application.CreateForm(TForm34NotafiscalEntrada,Form34NotafiscalEntrada); SetWindowLong(Form34NotafiscalEntrada.Handle, GWL_ExStyle, GetWindowLong(Form34NotafiscalEntrada.Handle, GWL_ExStyle)or WS_EX_AppWindow); //Form34NotafiscalEntrada.show; SetWindowPos(Form34NotafiscalEntrada.Handle, HWND_TOP, 0, 0, 0, 0, SWP_NOACTIVATE or SWP_NOMOVE or SWP_NOSIZE or SWP_SHOWWINDOW); Form34NotafiscalEntrada.WindowState:=wsMaximized; Form34NotafiscalEntrada.Show; end; end; No evento do OnClose de cada formulário criado em tempo de execução: Form34NotafiscalEntrada.Release; Form34NotafiscalEntrada.Free; Form34NotafiscalEntrada := nil; A questão é que, em um botão login, gostaria de fechar todos os formulários abertos, criados na inicialização do Projeto, ou em tempo de execução pelo click do atalho do Ribbon.... Estou usando o seguinte código para fechar: for n:=0 to Application.ComponentCount-1 do if Application.Components[n] is TForm then if not(TForm(Application.Components[n]) = Application.MainForm) then if TForm(Application.Components[n]).Showing then TForm(Application.Components[n]).Close; Seguindo estes passos, estou com problemas, pois, ele não fecha todos os forms criados e tempo de execução, e ainda ocorre uns erros e tals. ( E pelo que observei os que são criados na inicialização da aplicação fecha normalmente)> //Meu form Principal é o de Login. Desde já muito obrigado. Abraços !!!
×
×
  • Criar Novo...