Titolo: Chiudere il 4D server interagendo con le dialog
Categoria: Codice |
|
Ultimo Aggiornamento: 14/03/05 |
Nota UM: Dalla 6.8 è disponibile il comando Quit che rende obosleta questa Faq, ma il metodo utilizzato (Post Key) è interessante e utilizzabile in qualche altro caso.Ecco un metodo che permette di eseguire l'uscita da un 4D Server direttamente da 4D Client, senza dover quindi accere alla macchina dove il Server è installato: l'unico parametro utilizzato è il tempo di attesa che si vuole date al Server prima di chiudersi.
C_INTEGER($1)
`
C_STRING(11;$attesa_stringa) ` tempo di attesa come stringa
C_INTEGER($I_Attesa;$I_ProcessNum;$i)
C_BOOLEAN($B_WaitingUserDisconn) ` True = wait attende l’uscita
`
`
Case of ` su 4D Client, lanciamo lo stesso metodo, ma come Stored procedure
: (Application type=4D Client )
$I_Attesa:=-2 ` -2 means "Default 4D Server's value" (see below)
If (Count parameters#0)
$I_Attesa:=$1
End if $I_ProcessNum:=Execute on server(Current method name;32*1024;Current method name;$I_Attesa)
`
` su Server generiamo un Command o Ctrl - Q
: (Application type=4D Server )
$B_WaitingUserDisconn:=
False $attesa_stringa:=""
Case of : (Count parameters=0) ` possibile se chiamato altrove
: ($1<0) ` se negativo usa l’opzione di default
$B_WaitingUserDisconn:=($1=-1) ` cioè attendo l’uscita
Else $attesa_stringa:=String($1) ` per fare in modo che la cifra venga scritta con POST KEY
End case `
` Mando l’evento al processo numero 1.
POST KEY(Ascii("q");Command key mask ;1)
` attendo che compaia la finestra
DELAY PROCESS(Current process;60)
` scrivo il numero per l’attesa
` e se la stringa è vuota non entra
For ($i;1;Length($attesa_stringa))
POST KEY(Ascii($attesa_stringa[[$i]]);0;1)
DELAY PROCESS(Current process;10)
End for ` passiamo dopo
POST KEY(9;0;1)
DELAY PROCESS(Current process;10)
` se richiesto, spuntiamo WaiUser
If ($B_WaitingUserDisconn)
POST KEY(US ASCII code ;0;1)
DELAY PROCESS(Current process;10)
End if ` Conferma ed esce
POST KEY(13;0;1)
End case
Inviato da: PierPaolo Sichera |
|
Visite: 12626 |
Se accedi con utente e password, puoi aggiungere dei commenti.