Fórum Nome da procedure que esta sendo executada... #172852

03/08/2003

0

Preciso saber a procedure que está sendo executada em um determinado momento no delphi...
Agradeço se alguém puder me ajudar,
Kledars


Kledars

Kledars

Responder

Posts

03/08/2003

Afarias

Isto é bem ´atípico´.

Pode nos explicar o q deseja fazer??


T+


Responder

Gostei + 0

03/08/2003

Fórum Vini

Crie uma variável global do tipo string e ao chamar cada função, mude seu valor para o nome da função.


Responder

Gostei + 0

03/08/2003

Anderson_blumenau

Eu acho que ele quer saber qual parte do codigo está sendo executado no momento e o nome do procedimento ex: button1.click


Responder

Gostei + 0

03/08/2003

Kledars

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


Responder

Gostei + 0

03/08/2003

Afarias

|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+


Responder

Gostei + 0

03/08/2003

Anderson_blumenau

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

autorizado : boolean;

IF autorizado then 
begin
   Essa parte do codigo vai ser acessada pelo usuario
end;


espero ter ajudado[/code]


Responder

Gostei + 0

03/08/2003

Kledars

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


Responder

Gostei + 0

03/08/2003

Afarias

|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+


Responder

Gostei + 0

03/08/2003

Imstaff

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:


Responder

Gostei + 0

13/08/2003

Marconi

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


Responder

Gostei + 0

13/08/2003

Marconi

: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


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar