Differenze tra le versioni di "Uso del Metodo .RunExec()"

Da Gambas-it.org - Wikipedia.
 
(Una versione intermedia di uno stesso utente non è mostrata)
Riga 4: Riga 4:
  
 
Vediamo di seguito un semplice esempio:
 
Vediamo di seguito un semplice esempio:
  Private proc As Process
+
  Private <FONT Color=darkorange>proc</font> As Process
 
   
 
   
 
   
 
   
 
  Public Sub Button1_Click()
 
  Public Sub Button1_Click()
 
   
 
   
   proc = DesktopFile.RunExec("<FONT Color=gray>''nome_del_programma''</font>", "<FONT Color=gray>''/percorso/del/file/da/aprire''</font>", False)
+
   <FONT Color=darkorange>proc</font> = DesktopFile.RunExec("<FONT Color=gray>''nome_del_programma''</font>", "<FONT Color=gray>''/percorso/del/file/da/aprire''</font>", False)
 
   
 
   
 
  End
 
  End
 
Se il terzo argomento è posto a "True", allora il programma Gambas richiederà l'inserimento della password dell'utente.
 
Se il terzo argomento è posto a "True", allora il programma Gambas richiederà l'inserimento della password dell'utente.
  
E' necessario sottolineare che chiudendo il programma Gambas (ad esempio con la seguente sub-routine):
+
 
  Public Sub Form_Close()
+
===Chiudere il programma usato per eseguire il file===
 +
Poiché il Metodo "DesktopFile.RunExec()" ritorna una variabile di tipo ''Process'', con essa è possibile gestire il processo del programma scelto.
 +
<BR>Pertanto, per chiudere il programma prescelto e usato per l'esecuzione del file, si può usare detto Oggetto di tipo ''Process'', e segnatamente il suo Metodo ".Kill".
 +
  Public Sub Button2_Click()
 +
 +
  <FONT Color=darkorange>proc</font>.Kill
 
   
 
   
  Quit
 
 
 
 
  End
 
  End
si avrà automaticamente anche la chiusura del programma richiamato nel primo argomento per l'apertura del file indicato nel secondo. Ciò avviene, perché il Metodo ".RunExec()" continua a gestire il processo del programma esterno, scelto nel primo argomento, anche dopo la sua apertura.
 
  
In effetti, va aggiunto che questo Metodo restituisce una variabile di tipo ''Process'' che consente anche a livello di codice - eventualmente - la gestione del processo del programma scelto.
+
 
<BR>Ad esempio usando il Metodo ".Kill()" della Classe ''Process'' verrà chiuso non solo il programma richiamato, ma anche il programma Gambas:
+
===Chiudere contestualmente il programma usato per eseguire il file e il programma Gambas===
  Public Sub Button2_Click()
+
Per chiudere sia il processo del programma utilizzato per l'esecuzione del file sia il programma Gambas, si userà prima il comando per terminare il processo e poi quello per chiudere la finestra principale del programma Gambas:
 +
  Public Sub Form_Close()
 +
 +
<FONT Color=gray>' ''Termina il processo del programma prescelto e usato per eseguire il file:''</font>
 +
  <FONT Color=darkorange>proc</font>.Kill
 
   
 
   
   proc.Kill
+
<FONT Color=gray>' ''Chiude la finestra principale del programma Gambas:''</font>
 +
   Me.Close
 
   
 
   
 
  End
 
  End

Versione attuale delle 09:08, 19 nov 2024

Il Metodo ".RunExec()" della Classe DesktopFile consente di aprire un file con un programma appositamente scelto dall'utente, anche diverso da quello predefinito nel sistema per l'apertura di quel tipo di file.

E' necessario preliminarmente attivare il Componente gb.desktop.

Vediamo di seguito un semplice esempio:

Private proc As Process


Public Sub Button1_Click()

 proc = DesktopFile.RunExec("nome_del_programma", "/percorso/del/file/da/aprire", False)

End

Se il terzo argomento è posto a "True", allora il programma Gambas richiederà l'inserimento della password dell'utente.


Chiudere il programma usato per eseguire il file

Poiché il Metodo "DesktopFile.RunExec()" ritorna una variabile di tipo Process, con essa è possibile gestire il processo del programma scelto.
Pertanto, per chiudere il programma prescelto e usato per l'esecuzione del file, si può usare detto Oggetto di tipo Process, e segnatamente il suo Metodo ".Kill".

Public Sub Button2_Click()

 proc.Kill

End


Chiudere contestualmente il programma usato per eseguire il file e il programma Gambas

Per chiudere sia il processo del programma utilizzato per l'esecuzione del file sia il programma Gambas, si userà prima il comando per terminare il processo e poi quello per chiudere la finestra principale del programma Gambas:

Public Sub Form_Close()

' Termina il processo del programma prescelto e usato per eseguire il file:
 proc.Kill

' Chiude la finestra principale del programma Gambas:
 Me.Close

End