Differenze tra le versioni di "Sapere se il programma Gambas sta funzionando come progetto dall'IDE oppure come eseguibile .gambas"

Da Gambas-it.org - Wikipedia.
(Creata pagina con "Per sapere se il programma Gambas sta funzionando come progetto oppure come eseguibile ''.gambas'', bisogna prendere in considerazione del fatto che nel nome del file eseguibi...")
 
Riga 9: Riga 9:
 
     Print "Applicazione lanciata da un file eseguibile '.gambas'"
 
     Print "Applicazione lanciata da un file eseguibile '.gambas'"
 
   Else
 
   Else
     Print "Applicazione lanciata come progetto"
+
     Print "Applicazione lanciata come progetto dall'IDE"
 
   Endif
 
   Endif
 
   
 
   
Riga 21: Riga 21:
 
    
 
    
 
   If Left(s, 4) = "gbx3" Then
 
   If Left(s, 4) = "gbx3" Then
     Print "Applicazione lanciata come progetto"
+
     Print "Applicazione lanciata come progetto dall'IDE"
 
   Else
 
   Else
 
     Print "Applicazione lanciata da un file eseguibile '.gambas'"
 
     Print "Applicazione lanciata da un file eseguibile '.gambas'"

Versione delle 09:27, 22 nov 2021

Per sapere se il programma Gambas sta funzionando come progetto oppure come eseguibile .gambas, bisogna prendere in considerazione del fatto che nel nome del file eseguibile troviamo anche l'estensione .gambas .

Qualora sia stato lanciato un file eseguibile, il file cmdline, presente nella cartella del processo del programma medesimo, riporta una stringa contenente alla fine il nome del programma comprensivo dell'estensione .gambas più il carattere di file stringa '\0' (ossia &h00).

Dunque è possibile utilizzare questo semplice codice:

Public Sub Main()

 If File.Load("/proc" &/ CStr(Application.Id) &/ "cmdline") Like "*.gambas\x00" Then
   Print "Applicazione lanciata da un file eseguibile '.gambas'"
 Else
   Print "Applicazione lanciata come progetto dall'IDE"
 Endif

End

oppure quest'altro molto simile al precedente:

Public Sub Main()
 
 Dim s As String
 
 s = File.Load("/proc" &/ CStr(Application.Id) &/ "comm")
  
 If Left(s, 4) = "gbx3" Then
   Print "Applicazione lanciata come progetto dall'IDE"
 Else
   Print "Applicazione lanciata da un file eseguibile '.gambas'"
 Endif
 
End