Nome da procedure que esta sendo executada...
Preciso saber a procedure que está sendo executada em um determinado momento no delphi...
Agradeço se alguém puder me ajudar,
Kledars
Agradeço se alguém puder me ajudar,
Kledars
Kledars
Curtidas 0
Respostas
Afarias
03/08/2003
Isto é bem ´atípico´.
Pode nos explicar o q deseja fazer??
T+
Pode nos explicar o q deseja fazer??
T+
GOSTEI 0
Fórum Vini
03/08/2003
Crie uma variável global do tipo string e ao chamar cada função, mude seu valor para o nome da função.
GOSTEI 0
Anderson_blumenau
03/08/2003
Eu acho que ele quer saber qual parte do codigo está sendo executado no momento e o nome do procedimento ex: button1.click
GOSTEI 0
Kledars
03/08/2003
Estou montando um controle de acesso e vou fazê-lo a nível de procedimento...
Dentro do procedimento verifico se o usuário está autorizado a executá-lo.
Preciso de algo que me retorne algo como a pilha de procedimentos que está em execução.
Grato,
Kledars
Dentro do procedimento verifico se o usuário está autorizado a executá-lo.
Preciso de algo que me retorne algo como a pilha de procedimentos que está em execução.
Grato,
Kledars
GOSTEI 0
Afarias
03/08/2003
|Preciso de algo que me retorne algo como a pilha de procedimentos que
|está em execução.
Não entendi. Qual a finalidade?? Se vc verifica no procedimento se o usuário pode ou não executá-lo, pq quer uma ´lista de procedimentos em execução´ ?? Vai tentar ´pará-los´ ??
Acho q está indo pelo caminho errado.
T+
|está em execução.
Não entendi. Qual a finalidade?? Se vc verifica no procedimento se o usuário pode ou não executá-lo, pq quer uma ´lista de procedimentos em execução´ ?? Vai tentar ´pará-los´ ??
Acho q está indo pelo caminho errado.
T+
GOSTEI 0
Anderson_blumenau
03/08/2003
eu colocaria uma variavel boleana, se for true o usuário esta autorizado senao nao
voce pode definir o valor da variavel na hora de validar o usuario
como na hora em que ele se identificar
ex
espero ter ajudado[/code]
voce pode definir o valor da variavel na hora de validar o usuario
como na hora em que ele se identificar
ex
autorizado : boolean; IF autorizado then begin Essa parte do codigo vai ser acessada pelo usuario end;
espero ter ajudado[/code]
GOSTEI 0
Kledars
03/08/2003
Gente,
vocês não estão me entendendo...
Eu não quero criar uma tela com cada uma das trocentas mil rotinas do sistema onde o adm diz se o usuário pode ou não usar.
A idéia é a seguinte:
O adm entra executa a procedure onde o usuário não pode acessar e faz o bloqueio. Se eu souber qual o procedimento que o adm está executando, gravo o nome dela e do usuário no banco.
Quando o usuário for executar o procedimento vai passar por um código semelhante a esse
procedure CalculaQualquerCoisa;
begin
if ControleAcesso( Usuario ) then
begin
Executa o código...
end;
end;
Onde a função ControleAcesso verifica no banco se o usuário está autorizado ou não!!!
Obrigado pela atenção,
Kledars
vocês não estão me entendendo...
Eu não quero criar uma tela com cada uma das trocentas mil rotinas do sistema onde o adm diz se o usuário pode ou não usar.
A idéia é a seguinte:
O adm entra executa a procedure onde o usuário não pode acessar e faz o bloqueio. Se eu souber qual o procedimento que o adm está executando, gravo o nome dela e do usuário no banco.
Quando o usuário for executar o procedimento vai passar por um código semelhante a esse
procedure CalculaQualquerCoisa;
begin
if ControleAcesso( Usuario ) then
begin
Executa o código...
end;
end;
Onde a função ControleAcesso verifica no banco se o usuário está autorizado ou não!!!
Obrigado pela atenção,
Kledars
GOSTEI 0
Afarias
03/08/2003
|Gente, vocês não estão me entendendo...
Nisto eu concordo plenamente.
|A idéia é a seguinte: O adm entra executa a procedure onde o usuário
|não pode acessar e faz o bloqueio. Se eu souber qual o procedimento
|que o adm está executando, gravo o nome dela e do usuário no banco.
Huuummm!!!! Agora é q não entendi nada mesmo!! :?
Como é q é?? Vamos ver... vou tentar CHUTAR o que vc quer realmente dizer::
O ADM ENTRA NO SISTEMA, SELECIONA UM CONTROLE VISUAL (MENU, BOTÃO, ETC) E ENTÃO INFORMA QUE USUÁRIOS TEM ACESSO AO PROCEDIMENTO ´LIGADO´ AO CONTROLE SELECIONADO???
Seria isso?!?!
Sendo isto, vc pode guardar (como ex.) o NOME do controle (TComponent.Name) ou, se utiliza Actions, pode guardar o nome da ação (TAction) associada ao controle (TComponentComAction.Action.Name).
T+
Nisto eu concordo plenamente.
|A idéia é a seguinte: O adm entra executa a procedure onde o usuário
|não pode acessar e faz o bloqueio. Se eu souber qual o procedimento
|que o adm está executando, gravo o nome dela e do usuário no banco.
Huuummm!!!! Agora é q não entendi nada mesmo!! :?
Como é q é?? Vamos ver... vou tentar CHUTAR o que vc quer realmente dizer::
O ADM ENTRA NO SISTEMA, SELECIONA UM CONTROLE VISUAL (MENU, BOTÃO, ETC) E ENTÃO INFORMA QUE USUÁRIOS TEM ACESSO AO PROCEDIMENTO ´LIGADO´ AO CONTROLE SELECIONADO???
Seria isso?!?!
Sendo isto, vc pode guardar (como ex.) o NOME do controle (TComponent.Name) ou, se utiliza Actions, pode guardar o nome da ação (TAction) associada ao controle (TComponentComAction.Action.Name).
T+
GOSTEI 0
Imstaff
03/08/2003
e se você fizer assim:
[i:e9bf11a960]if ControleAcesso( Usuario , nProcedure) then ..[/i:e9bf11a960]
Onde nProcedure é o número que você dá a essa procedure. A função ControleAcesso vai ver se existe o usuário com esse número de procedure no banco X, se não existir ele não tem acesso.
Ou você pode fazer ao contrário pra facilitar, se existir ele não tem acesso.
É isso? Está meio obscuro.. :idea:
[i:e9bf11a960]if ControleAcesso( Usuario , nProcedure) then ..[/i:e9bf11a960]
Onde nProcedure é o número que você dá a essa procedure. A função ControleAcesso vai ver se existe o usuário com esse número de procedure no banco X, se não existir ele não tem acesso.
Ou você pode fazer ao contrário pra facilitar, se existir ele não tem acesso.
É isso? Está meio obscuro.. :idea:
GOSTEI 0
Marconi
03/08/2003
Eu acabei vendo a sua dúvida somente agora, mas eu tenho um programa que tem uma solução parecida.
Na tela principal tem uma tecla somente visivel para o administrador do sistema. Ela entra em um controle onde ele cadastra os usuarios que poderão acessar as partes do sistema.
Cada usuário é ligado a um grupo de usuários, e o administrador dá ou não direitos ao grupo.
Aos módulos do sistema os grupos tem direitos do tipo: Nenhum, Leitura e Total.
O arquivo de direitos permanece aberto no módulo principal e as opções de acesso via de menú estão <b>enabled</b> ou não, dependendo do caso. Em cada módulo o usuário, quando tem acesso, entra sempre no modo leitura, com todos do edits como <b> readonly=true</b>. Se o grupo onde ele esta ligado estiver com permissão total ele terá disponivel o botão (ou menu) que pode deixar em modo de edição.
A variavel global GRUPO carrega o codigo do grupo, e consulta a tabela quando necessário.
Talvez seja isto que está precisando.
Marconi
Na tela principal tem uma tecla somente visivel para o administrador do sistema. Ela entra em um controle onde ele cadastra os usuarios que poderão acessar as partes do sistema.
Cada usuário é ligado a um grupo de usuários, e o administrador dá ou não direitos ao grupo.
Aos módulos do sistema os grupos tem direitos do tipo: Nenhum, Leitura e Total.
O arquivo de direitos permanece aberto no módulo principal e as opções de acesso via de menú estão <b>enabled</b> ou não, dependendo do caso. Em cada módulo o usuário, quando tem acesso, entra sempre no modo leitura, com todos do edits como <b> readonly=true</b>. Se o grupo onde ele esta ligado estiver com permissão total ele terá disponivel o botão (ou menu) que pode deixar em modo de edição.
A variavel global GRUPO carrega o codigo do grupo, e consulta a tabela quando necessário.
Talvez seja isto que está precisando.
Marconi
GOSTEI 0
Marconi
03/08/2003
:o OBS -> Não ligue para os códigos <b> ou </b> do codigo acima. Eu coloquei pensando que na mensagem iria sair em [b:d2b5aea216]negrito[/b:d2b5aea216].
Marconi
Marconi
GOSTEI 0