Fórum A named FBAL2_ORCAME already exists #327299
11/08/2006
0
Estou tendo problema em um cliente que usar terminal server que em determinada hora do dia está acontecendo esse erro no fomulário de venda - A named FBAL2_ORCAME already exists.
O Servidor é Win2003 com processador dual, 2 Gb de Ram divido em dois pentes.
Em outros clientes que usam o mesmo sistema porem com menos movimentação e sem terminal server não acontece.
Forma que uso para chamar o form:
TRY
Application.CreateForm(TFBAL2_ORCAME,FBAL2_ORCAME);
FBAL2_ORCAME.Showmodal;
FINALLY
FreeAndNil(FBAL2_ORCAME);
END;
Alguem tem alguma idéia do que possa estar acontecendo ?
Pezzin
Curtir tópico
+ 0Posts
14/08/2006
Pezzin
Gostei + 0
14/08/2006
Pezzin
:(
Gostei + 0
14/08/2006
Marco Salles
mas aqui vai
1)Acredito que esse formulário esta na seccção AvalaibreForms do form
Não é isto mesmo ???
2)voce esta definindo como Owner do Proprietario a aplicação ...A regra é que a apllicação deve ser usado com proprietário apenas para formulário não modais..
3)Se o tempo de vida do formulário for determinado use nil como Owner
´A regra é: se é o tempo de vida do componente é determinado, então use nil como owner. Se não, use Self, para componentes, e Application, para forms. ´
4)as biografias mandam usar o Release ao Inves do Freeandnil na destruição de Formulários...
nesse método voce diz que a aplicação é o proprietario e logo a seguir voce o destroe , sendo que a principio , isto seria de responsabilidade da applicação
então amigo troque o seu codigo por :
FBAL2_ORCAME:=TFBAL2_ORCAME,Create(nil) try FBAL2_ORCAME.Showmodal; FINALLY FBAL2_ORCAME.Release; FBAL2_ORCAME:=nil; END;
e boa sorte...
Gostei + 0
14/08/2006
Pezzin
Vou modificar o código e atualizar neste cliente e te dar um feedback depois...
Gostei + 0
14/08/2006
Pezzin
Está dando erro ao compilar.
Gostei + 0
14/08/2006
Marco Salles
FBAL2_ORCAME:=TFBAL2_ORCAME.Create(nil); try FBAL2_ORCAME.Showmodal; FINALLY FBAL2_ORCAME.Release; FBAL2_ORCAME:=nil; end; //end do Finally
Na instrução , faltou trocar virgula por ponto e faltou o Ponto virgula na final
Gostei + 0
14/08/2006
Pezzin
FBAL2_ORCAME:=TFBAL2_ORCAME.Create(nil); try FBAL2_ORCAME.Showmodal; FINALLY FBAL2_ORCAME.Release; FBAL2_ORCAME:=nil; end; //end do Finally
Na instrução , faltou trocar virgula por ponto e faltou o Ponto virgula na final
Blz,
Para complementar, eu tenho no evento OnClose deste form a linha:
Action:=CaFree;
Está correto ?
Gostei + 0
14/08/2006
Marco Salles
sim , porque quando o usuário clica no ´x´ para fechar a janela (ou usa teclas de atalho definidas no windows) a aplicação esconde os formulários do Tipo MDI ... Para alterar este comportamento e liberar a memória ocupada pelo formulário escreva no evento oncloseform Action:=Cafree;
Gostei + 0
17/08/2006
Pezzin
Meu cliente atualizou o sistema e me informou que trabalhou hoje o dia todo sem o erro acontecer.
Antes estava da atualização acontecia umas 4 ou 5 vezes.
Espero que agora normalize o problema de vez.
Muito obrigado pela sua atenção.
Valeu.
Gostei + 0
17/08/2006
Marco Salles
valeu
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)