Ticket #39046

Vários problemas (importados do To-Do local)

Open Date: 2019-03-12 10:25 Last Update: 2019-05-28 04:32

Reporter:
Owner:
Type:
Status:
Open [Owner assigned]
Component:
MileStone:
(None)
Priority:
5 - Medium
Severity:
5 - Medium
Resolution:
Accepted
File:
None

Details

  • IMPORTANTE! fazer os allowablemainobjectscontainers estarem sempre no mesmo owner do UC (mesmo tform ou mesmo TDataModule)
  • MemoryLeak em UUCFrameUsers. Está sendo criado um TDataSet e atribuiído diretamente a um datasource, mas em nenhum momento ele está sendo destruído. Verifique todos os métodos que retornam dataset para saber se eles estão sendo destruidos. Existe um aviso no frame que diz pra não destruir um dataset, que o UC toma conta dele, mas eu acho que isso está errado...
  • Select Integrador ExternalSQL
  • Existem validações de tabelas sendo feitas no CheckRequiredProperties de user control. Mova isso para cada tabela! E crie as validações das outras tabelas, porque atualmente apenas users e rights estão sendo validadas. Possivelmente so precisam destas duas mesmo, verifique;
  • o lock de operacoes de banco está erradamente mantendo o lock ou a liberação de um usuario anterior, ao iniciar a aplicação com o usuario nao se nota, ao trocar de usuario sim. é preciso guardar os eventos originais de cada operacao (insert, delete, update) e recupera-los sempre que se trocar de usuario ApplyAdditionalObjectsRights. AssignComponentInstancesFrom. mude o metodo Lock, coloque mais 3 parametros para receber os ponteiros dos metodos insert, delete e update originais e em AssignComponentInstancesFrom ajuste para atribuir os ponteiros, que serao usados em lock
  • Ao fechar a aplicação, o logoff nao é executado. mas por conta disso, o registro de log de usuarios nao é removido
  • Explicar e que o demo qubra com o fb, pq ele não tem o tipo TDateTime mas sim TSQLTimestamp
  • Fazer algo com o form inicial, uma ajuda ao menos, pra que o povo saiba qu ele existe. Vide OnCustomInitialMsg
  • Testar login inicial
  • Melhorar TUCMail.TrataSenha. Mover para TUsersTable.RecoverPassword. Se a critptografia for reversivel, então reverter, do contrário gera uma nova sempre
  • Buscar referencias a hlLevelX e incluir hlLevel3
  • Tem alguma coisa desativando o timer de verificação de mensagens... Teste: adicione um tusercontrol, depois um tucmessenger, ligue os dois e só depois inclua um conector e associe-o ao tusercontrol. verifique se tucmessenger aponta pra ele ou se permanece nil
  • Ao mandar uma mensagem via tela de listagem de usuários logaos, deixe o tempo de sessão acabar, faça login novamente e note que não vai receber a mensagem, apenas se fehcar e abrir o programa novamente
  • Não está excluindo do log o usuário admin?? (Isso parece ser o problema resolvido por paandaa)

Ticket History (3/11 Histories)

2019-03-12 10:25 Updated by: derekwildstar
  • New Ticket "Vários problemas (importados do To-Do local)" created
2019-03-12 10:27 Updated by: derekwildstar
Comment

IMPORTANTE! fazer os allowablemainobjectscontainers estarem sempre no mesmo owner do UC (mesmo tform ou mesmo TDataModule)

Isso era necessário porque o UC fazia validações no método Loaded, mas como o método Loaded foi removido o TAllowableMainObjectsContainer pode ficar em qualquer lugar, desde que o método TUserControl.Execute seja executado em um momento em que o TAllowableMainObjectsContainer já esteja disponível. Mensagens de erro serão emitidas para cada propriedade obrigatória não preenchida

(Edited, 2019-03-12 10:28 Updated by: derekwildstar)
2019-03-12 10:29 Updated by: derekwildstar
Comment

MemoryLeak em UUCFrameUsers. Está sendo criado um TDataSet e atribuiído diretamente a um datasource, mas em nenhum momento ele está sendo destruído. Verifique todos os métodos que retornam dataset para saber se eles estão sendo destruidos. Existe um aviso no frame que diz pra não destruir um dataset, que o UC toma conta dele, mas eu acho que isso está errado...

Este problema foi totalmente corrigido! Neste momento não foi detectado mais nenhum Memory Leak, mesmo após acessar todos os frames da tela de usuários

2019-03-12 10:29 Updated by: derekwildstar
Comment

Reply To derekwildstar

Select Integrador ExternalSQL

Testado e totalmente funcional!

2019-03-12 10:30 Updated by: derekwildstar
  • Resolution Update from None to Accepted
2019-03-12 10:32 Updated by: derekwildstar
Comment

Existem validações de tabelas sendo feitas no CheckRequiredProperties de user control. Mova isso para cada tabela! E crie as validações das outras tabelas, porque atualmente apenas users e rights estão sendo validadas. Possivelmente so precisam destas duas mesmo, verifique;

Todas as validações para todas as tabelas foram criadas

2019-03-12 10:34 Updated by: derekwildstar
Comment

O lock de operacoes de banco está erradamente mantendo o lock ou a liberação de um usuario anterior, ao iniciar a aplicação com o usuario nao se nota, ao trocar de usuario sim. é preciso guardar os eventos originais de cada operacao (insert, delete, update) e recupera-los sempre que se trocar de usuario ApplyAdditionalObjectsRights AssignComponentInstancesFrom. mude o metodo Lock, coloque mais 3 parametros para receber os ponteiros dos metodos insert, delete e update originais e em AssignComponentInstancesFrom ajuste para atribuir os ponteiros, que serao usados em lock

Problema resolvido, mas descobri que há um efeito colateral entre o lock de operações de banco e o TDataSetMonitor. Vou criar um ticket separado para isso

2019-03-12 11:18 Updated by: derekwildstar
  • Milestone Update from 3.1 to (None)
2019-05-28 04:28 Updated by: derekwildstar
  • Details Updated
2019-05-28 04:29 Updated by: derekwildstar
  • Details Updated
2019-05-28 04:32 Updated by: derekwildstar
  • Details Updated

Attachment File List

No attachments

Edit

You are not logged in. I you are not logged in, your comment will be treated as an anonymous post. » Login