Tópico: Erros userControl - Show Delphi

DICAS

Visite a biblioteca de dicas da comunidade.

Saiba mais

ARTIGOS

Abordagens detalhadas sobre assuntos diversos.

Saiba mais

INICIANTES

Aprenda a programar de um modo simples e fácil.

Saiba mais

DOWNLOADS

Acesse os materiais exclusivos aos membros.

Saiba mais
voltar

Erros userControl

Este tópico contém respostas, possui 8 vozes e foi atualizado pela última vez por  Giovani Da Cruz 7 meses, 4 semanas atrás.

Visualizando 15 posts - 1 até 15 (de 19 do total)
  • Autor
    Posts
  • #2363

    Bruno Cavalcanti
    Participante

    Boa tarde.
    Estou começando a utilizar o userControl no Delphi Berlin e estou me deparando com o seguinte erro ” conversion error from string “13/07/2017″ ” (conversão) utilizando o DBExpress ou Firedac.
    Esse erro ocorre ao alterar ou criar um novo usuário.
    exception class EIBNativeException with message ‘[FireDAC][Phys][FB]
    Existe alguma correção prevista?
    Grato.

    #2364

    Bruno Cavalcanti
    Participante

    Mais algumas observações.

    >> Permite excluir o usuário que esta logado no sistema.
    >> Quando tenta excluir um usuário o sistema não apresenta nenhum aviso que deu erro, porem limpa
    >> Não esta sendo possível alterar senha
    > Acesso(Permissões de usuário) :
    >> Ao clicar para expandir a raiz esta mercando/desmarcando o acesso que esta selecionado, quando esta selecionado um acesso e clica em qualquer parte da janela (parte branca onde contem os acessos) o sistema esta marcando/desmarcado o acesso selecionado.
    > LOG:
    >> Na tela de log a coluna “Nível” apresenta um fundo preto, conforme é movimentado o a seleção da linha (seta ou scroolbar) a parte preta fica com um lado branco, as vezes fica todo branco e da para ler que esta escrito atras do ícone a palavra “Nivel”.

    #2365

    Obrigado Bruno por informar, vamos tentar ver para corrigir os problemas mencionados.

    #2367

    Bruno Cavalcanti
    Participante

    Bom dia.

    Foi possível identificar os problemas?

    #2400

    Olá Bruno, estamos na corrida aqui ocupados com projetos de clientes.

    Acredito que todos programadores sempre estão “apertados” em tempo.

    Pode ser que demore Bruno para a gente ir implementando.

    Caso você fazer estes ajustes, podemos incorporar ao projeto sem problemas e irá encorajar outros a também ajudarem.

    #2401

    Paulo Silva
    Participante

    Bom dia amigos.

    Gostaria de parabenizar pelo excelente trabalho realizado junto a comunidade delphi. Queria passar um probleminha que está ocorrendo com o UserControl. Estou usando o Delphi Tokyo e, instalei o componente sem problemas, porém, quando vou CADASTRAR um USUÁRIO, ocorre um erro seguido da seguinte mensagem: Invalid pointer operation.

    Obs: Somente ocorre esse erro quando cadastrar um novo usuário, na alteração esse erro não ocorre. Alguma dica pra resolver esse problema?

    Desde já agradeço a atenção e mais uma vez parabenizá-los.

    #2409

    Juno Andrade
    Participante

    Boa tarde pessoal,

    Tenho uma duvida tenho um projeto e estou usando o usercontrol porem no ele executa normalmente só que na tela de login ele aprece junto com a tela do sistema ao fundo. Como faço para retirar esta tela de fundo?
    Obrigado pela atenção DEUS abençoe!!!

    #2413

    levi.ribeiro
    Participante

    Pessoal Bom dia!

    Está dando erro no “pUCFrame_User.pas” na “procedure TUCFrame_User.BtPassClick(Sender: TObject);”, abaixo.

    Exatamente nesta linha: //FreeAndNil(FormSenha);

    O problema é que o FormSenha já é destruído no OnClose dele com Action:= caFree.

    Espero ter ajudado.

    procedure TUCFrame_User.BtPassClick(Sender: TObject);
    begin
    if FDataSetCadastroUsuario.IsEmpty then
    Exit;

    FormSenha := TSenhaForm.Create(Self);
    TSenhaForm(FormSenha).Position := FUsercontrol.UserSettings.WindowsPosition;
    TSenhaForm(FormSenha).FUsercontrol := FUsercontrol;
    TSenhaForm(FormSenha).Caption :=
    Format(FUsercontrol.UserSettings.ResetPassword.WindowCaption,
    [FDataSetCadastroUsuario.FieldByName(‘Login’).AsString]);
    if TSenhaForm(FormSenha).ShowModal = mrOk then
    Begin

    (*
    if (Assigned(FUsercontrol.MailUserControl)) and (FUsercontrol.MailUserControl.SenhaForcada.Ativo ) then
    try
    FUsercontrol.MailUserControl.EnviaEmailSenhaForcada(
    FDataSetCadastroUsuario.FieldByName(‘NOME’).AsString ,
    FDataSetCadastroUsuario.FieldByName(‘LOGIN’).AsString,
    TSenhaForm(FormSenha).edtSenha.Text ,
    FDataSetCadastroUsuario.FieldByName(‘EMAIL’).AsString,
    ”);

    except
    on E : Exception do FUsercontrol.Log(e.Message, 0);
    end;

    *)
    FUsercontrol.ChangePassword(FDataSetCadastroUsuario.FieldByName(‘IDUser’)
    .AsInteger, TSenhaForm(FormSenha).edtSenha.Text);
    End;
    //FreeAndNil(FormSenha); Não pode, já esta destruindo no form –Levi
    end;

    #2414

    levi.ribeiro
    Participante

    Pessoal,

    Encontrei um erro na “IncUser_U.pas”, na “procedure TfrmIncluirUsuario.btGravarClick(Sender: TObject);” abaixo:

    Exatamente na linha //FreeAndNil(FormSenha);.
    O FormSenha está sendo destruído no OnClose dele com Action:= caFree;

    Espero ter ajudado.

    procedure TfrmIncluirUsuario.btGravarClick(Sender: TObject);
    var
    vNovaSenha: String;
    vNome: String;
    vLogin: String;
    vEmail: String;
    vUserExpired: Integer;
    vPerfil: Integer;
    vPrivilegiado: Boolean;
    begin
    if ComboPerfil.KeyValue = NULL then
    begin
    ShowMessage(‘Falta Informar o Perfil’);
    Exit; // Cleilson Sousa
    end;

    btGravar.Enabled := False;

    with FUserControl do
    if not FAltera then
    begin // inclui user
    if Self.FUserControl.ExisteUsuario(EditLogin.Text) then
    begin
    MessageDlg
    (Format(FUserControl.UserSettings.CommonMessages.UsuarioExiste,
    [EditLogin.Text]), mtWarning, [mbOK], 0);
    Exit;
    end;

    FormSenha := TSenhaForm.Create(Self);
    TSenhaForm(FormSenha).Position := UserSettings.WindowsPosition;
    TSenhaForm(FormSenha).FUserControl := FUserControl;
    TSenhaForm(FormSenha).Caption :=
    Format(FUserControl.UserSettings.ResetPassword.WindowCaption,
    [EditLogin.Text]);
    if TSenhaForm(FormSenha).ShowModal <> mrOk then
    begin
    btGravar.Enabled := True;
    Exit;
    end;
    vNovaSenha := TSenhaForm(FormSenha).edtSenha.Text;
    vNovoIDUsuario := GetNewIdUser;
    vNome := EditNome.Text;
    vLogin := EditLogin.Text;
    vEmail := EditEmail.Text;
    //FreeAndNil(FormSenha);

    #2415

    levi.ribeiro
    Participante

    Pessoal,

    Novamente colaborando com o grupo.
    Um pequeno inconveniente na “pUCFrame_Log.pas” faz com que o Campo NIVEL fique com o texto por trás da figura que o representa na “procedure TUCFrame_Log.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
    DataCol: Integer; Column: TColumn; State: TGridDrawState);”

    Solução:
    procedure TUCFrame_Log.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
    DataCol: Integer; Column: TColumn; State: TGridDrawState);
    var
    TempImg: Graphics.TBitmap;
    FData: System.TDateTime;
    TempData: String;
    begin
    if DSLog.IsEmpty then
    Exit;

    if UpperCase(Column.FieldName) = ‘NIVEL’ then
    begin
    if Column.Field.AsInteger >= 0 then
    begin
    DBGrid1.Canvas.TextRect(Rect, Rect.Left + 2, Rect.Top + 2,
    ”); //Incluir esta linha soluciona o problema.
    TempImg := Graphics.TBitmap.Create;
    ImageList1.GetBitmap(Column.Field.AsInteger, TempImg);
    DBGrid1.Canvas.Draw((((Rect.Left + Rect.Right) – TempImg.Width) div 2),
    Rect.Top, TempImg);
    FreeAndnil(TempImg);

    #2416

    Júnior Carvalho
    Participante

    Boa tarde,
    e parabéns pelo projeto.

    Foi configurado para menus não ficarem invisíveis, mas ao trocar de Usuário logado (log off) os menus continuam visíveis porém desabilitados.

    Quando acessa com Usuário tem não tem todas as pemissões, só são exibidos menus que o mesmo tem acesso, mas se acessar fazendo (log off) aí neste caso os menus que o Usuários nao tem acesso são exibidos desabilitados.

    abraços.

    #2426

    A partir de janeiro de 2018, vamos verificar para adicionar as correções postadas. Agora no final de ano esta uma correria, mas já estou me planejando para colocar isto no repositório.

    Enquanto, agradeço a todos pelas colaborações e em especial levi.ribeiro, pelos soluções postadas.

    #2443

    Todos estes itens reportados por Bruno Cavalcanti já foram corrigifos.

    >> Permite excluir o usuário que esta logado no sistema.
    >> Quando tenta excluir um usuário o sistema não apresenta nenhum aviso que deu erro, porem limpa
    >> Não esta sendo possível alterar senha
    > Acesso(Permissões de usuário) :
    >> Ao clicar para expandir a raiz esta mercando/desmarcando o acesso que esta selecionado, quando esta selecionado um acesso e clica em qualquer parte da janela (parte branca onde contem os acessos) o sistema esta marcando/desmarcado o acesso selecionado.
    > LOG:
    >> Na tela de log a coluna “Nível” apresenta um fundo preto, conforme é movimentado o a seleção da linha (seta ou scroolbar) a parte preta fica com um lado branco, as vezes fica todo branco e da para ler que esta escrito atras do ícone a palavra “Nivel”.

    #2444

    Utilizo o UserControl há muitos anos já, e sempre sem problemas.
    Porém, de umas 3 semanas para cá, ao incluir mais rotinas no menu, o UC vem dando problemas.
    Já fiz um gbak/restore no banco e não adiantou.
    O que está acontecendo é o seguinte:
    * vou ao gerenciamento de usuários e libero para todo um perfil um determinado item do menu
    * faço a mudança de usuário (sem sair do sistema) e o menu está liberado.
    * Saio do sistema e entro novamente e aquela opção está desativada.
    * Vou ao gerenciamento de usuários, perfil e vejo a permissão e lá aponta como liberada.

    Já testei com alguns perfis diferentes, mas mesmo clicando em LIBERAR (para liberar tudo) o problema continua.

    Estou utilizando o Delphi 7 (ainda) e o UserControl Versao 2.32 RC1.

    Tria como eu zerar o Banco de Dados do UC? Posso simplesmente apagá-lo para que o componente gere outro?

    #2448

    Olá Roberto.

    Pode ser que seja uma versão desatualizada encontrada na net.

    Nos estamos utilizando a versão mantida pela comunidade.

    Você pode baixar ela aqui:
    https://github.com/infussolucoes/usercontrol-sd

    Inclusive há um instalador, para facilitar o trabalho.

    A princípio esta compatível com Delphi 7.

Visualizando 15 posts - 1 até 15 (de 19 do total)

Você deve fazer login para responder a este tópico.

Ir ao topo

© 2018 Infus Soluções em Tecnologia - Todos os Direitos Reservados