Newsgroup: it.comp.lang.delphi
Titolo: Controllo permessi alla partenza

All'apertura di una form (principale e/o secondaria) vorrei andare a
controllare in una tabella
in un DB, da me configurata, se l'utente che sta usando il programma ha i
permessi per entrare.
Come faccio per permettere l'apertura della form solo se il test è true ed
impedire l'apertura
se false ?
In che evento della form devo fare il controllo ?
Ciao e grazie
Enrico

> In che evento della form devo fare il controllo ?
Io lo farei prima:
procedure MostraFormSecondario;
begin
  if ActiveUserCanOpernIt then
  begin
    TuoForm := TFormSecodnario.Create(Application);
    ..
  end
  else
  begin
    MessageDlg('non hai i diritti'....
  end;
Comunque, io crerei delle action associate ai pulsanti/menu etc
e userei l'evento OnUpdate che ti permette di disabilitare a monte
tutto cio su cui l'utente non puo' andare:
procedure TActionQualcosaExecute(.....)
begin
    TuoForm := TFormSecodnario.Create(Application);
    ..
end;
 
procedure TActionQualcosaOnUpdate(.....)
begin
  tAction(Sender).Enabled := ActiveUserCanOpernIt;
end;
Ancora, queste cose potrebbero essere fatte subito dopo la login,
in modo da nion dover ogni volta controllare delle condizioni
fisse, che cioeè non  cambiano fineche' l'utente non è uscito.
Bye
AS
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 l'utente che sta usando il programma ha i permessi per entrare.
Nell'istruzione appena prima lo Show del form.
Alla partenza puoi farlo prima di Application.Run, nel sorgente
del progetto.  Se la condizione e' valida allora apri mandi in
esecuzione il programma, se non lo e' ti fermi.


 fisse, che cioeč non  cambiano fineche' l'utente non č uscito.
Piů che giusto
Perň nel caso in cui io ho una form con un menů che fa partire programmi
diversi,
ovvero eseguibili diversi, se il controllo lo faccio solo su questa form e
l'utente
individua gi altri eseguibili riesce a altrepassare il mio controllo sui
permessi.
Non č possibile fare un controllo alla partenza di una qualsiasi form ed
impedire o
meno che venga visualizzata ?

 ha scritto nel messaggio
news:9af57c1e7a8ea0df887...@mygate.mailgate.org...


Ho cercato di seguire alcuni consigli che mi avete dato, ma mi rendo conto
che devo fare ancora un po' di strada per apprendere come funziona Delphi :
sto cercando di controllare i permessi di apertura di un form (principale
e/o secondario)
attraverso l'evento OnShow dello stesso :
procedure TForm2.FormShow(Sender: TObject);
var
  chiusura:Boolean;
begin
  chiusura:=true;
  try
    begin
      if chiusura then
        begin
          showmessage('Non si hanno i permessi per aprire il progetto');
          close;
        end
      else
        //showmessage('Si hanno i permessi');
        // a questo punto si può visualizzare il form
      end;
  finally
  end;
end;
Il vaolre della variabile boleana lo prenderò da un campo in una tabella
permessi di un database MySQL.
Il problema è che ottengo questo errore :
Project Project1.exe raised exception class ElnvalidOperation with message
'Cannot change Visible
in OnShow or OnHide'. Process stopped Use Step or Run to continue.
Probabilmente l'errore dipende dal fatto che non ho le idee chiare, ma come
faccio per ottenere
quello che voglio ?
Tenendo conto che vorrei fare il controllo sia su form secondarie che su
main form.
Ciao e grazie
Enrico