Domanda interessante.
Tento di risolvere il problema posto con il seguente ragionamento.
Fra le varie cose, che distinguono l'esecuzione di un progetto Gambas sotto l'IDE dall'esecuzione di un programma Gambas compilato, v'è il nome del programma. In particolare nell'eseguibile troviamo l'estensione
.gambasQualora sia stato lanciato un programma compilato, 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 Chr(0)).
Pertanto proporrei un codice del seguente tenore:
Public Sub Form_Open()
' Se al termine della stringa, contenuta nel percorso indicato nel file "cmdline" della cartella del processo del programma lanciato,
' non sono "almeno" presenti i caratteri finali ".gambas\x00", allora nascondi il "Button1":
If File.Load("/proc" &/ CStr(Application.Id) &/ "cmdline") Not Like "*.gambas\x00" Then
Button1.Visible = False
Endif
End