nsouza Postado Dezembro 27, 2009 Denunciar Share Postado Dezembro 27, 2009 Colegasquando clico na grid para editar um registrome retorna a mensagem de erro: 'Stack overflow' Poderia me dar uma ajuda?Para entender envio os codigo abaixoEvento show do formulário:procedure TF_Acessos.FormShow(Sender: TObject);varTemp: TPermissao;begin inherited; Temp := TUsuario.GetInstance.GetPermissao(IntToStr(dcbModulo.KeyValue)); ToolButton1.Visible := Temp.Incluir; ToolButton2.Visible := Temp.Excluir; ToolButton3.Visible := Temp.Alterar; ToolButton4.Visible := Temp.Consultar; ToolButton5.Visible := Temp.Imprimir;end;Função GetPermisao:function TUsuario.GetPermissao(AModulo: string): TPermissao;var DbCon: TDBXConnection; Command: TDBXCommand; // Responsável em receber a instrução SQL, insert, update, delete Reader: TDBXReader; // Receber o result set executado pelo tdbxCom Temp: TPermissao;begin if FLogado then begin DbCon:= TDBXConnectionFactory.GetConnectionFactory.GetConnection('ADMCONDOMINIO','SYSDBA','MASTERKEY'); Command := DbCon.CreateCommand; Command.Text := 'SELECT INCLUIR, EXCLUIR, ALTERAR, CONSULTAR, IMPRIMIR '+ ' FROM ACESSOS WHERE USUARIOID = '+ intToStr(ID) + ' AND IDMODULO = '+ AMODULO; Reader := Command.ExecuteQuery; if reader.next then Begin Temp.Incluir := Reader.Value[0].GetAnsiString = 'S'; Temp.Excluir := Reader.Value[1].GetAnsiString = 'S'; Temp.Alterar := Reader.Value[2].GetAnsiString = 'S'; Temp.Consultar := Reader.Value[3].GetAnsiString = 'S'; Temp.Imprimir := Reader.Value[4].GetAnsiString = 'S'; Result := Temp; End; end else messageDlg('É necessário está logado para invocar este método!!',mtWarning, [mbOk],0);end; Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Dezembro 29, 2009 Denunciar Share Postado Dezembro 29, 2009 Faça uma busca no forumhttp://scriptbrasil.com.br/forum/index.php...=Stack+overflowabraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
nsouza
Colegas
quando clico na grid para editar um registro
me retorna a mensagem de erro: 'Stack overflow'
Poderia me dar uma ajuda?
Para entender envio os codigo abaixo
Evento show do formulário:
procedure TF_Acessos.FormShow(Sender: TObject);
var
Temp: TPermissao;
begin
inherited;
Temp := TUsuario.GetInstance.GetPermissao(IntToStr(dcbModulo.KeyValue));
ToolButton1.Visible := Temp.Incluir;
ToolButton2.Visible := Temp.Excluir;
ToolButton3.Visible := Temp.Alterar;
ToolButton4.Visible := Temp.Consultar;
ToolButton5.Visible := Temp.Imprimir;
end;
Função GetPermisao:
function TUsuario.GetPermissao(AModulo: string): TPermissao;
var
DbCon: TDBXConnection;
Command: TDBXCommand; // Responsável em receber a instrução SQL, insert, update, delete
Reader: TDBXReader; // Receber o result set executado pelo tdbxCom
Temp: TPermissao;
begin
if FLogado then
begin
DbCon:= TDBXConnectionFactory.GetConnectionFactory.GetConnection('ADMCONDOMINIO','SYSDBA','MASTERKEY');
Command := DbCon.CreateCommand;
Command.Text := 'SELECT INCLUIR, EXCLUIR, ALTERAR, CONSULTAR, IMPRIMIR '+
' FROM ACESSOS WHERE USUARIOID = '+ intToStr(ID) +
' AND IDMODULO = '+ AMODULO;
Reader := Command.ExecuteQuery;
if reader.next then
Begin
Temp.Incluir := Reader.Value[0].GetAnsiString = 'S';
Temp.Excluir := Reader.Value[1].GetAnsiString = 'S';
Temp.Alterar := Reader.Value[2].GetAnsiString = 'S';
Temp.Consultar := Reader.Value[3].GetAnsiString = 'S';
Temp.Imprimir := Reader.Value[4].GetAnsiString = 'S';
Result := Temp;
End;
end
else
messageDlg('É necessário está logado para invocar este método!!',mtWarning, [mbOk],0);
end;
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.