Autore Topic: delucidazione su application.path  (Letto 504 volte)

Offline doublemm

  • Maestro Gambero
  • ****
  • Post: 445
    • Mostra profilo
delucidazione su application.path
« il: 09 Settembre 2012, 23:26:40 »
Ho notato una cosa: Se ho un programma in home/prova/prova.gambas e lo lancio da un collegamneto sulla scrivania la path del programma risulta la scrivania. Trattandosi di un collegamento la path non sarebbe giusto fosse quella dove risiede il programma? Che ne pensate?
Matteo DoubleMM Mion

Offline Picavbg

  • Senatore Gambero
  • ******
  • Post: 1.620
    • Mostra profilo
Re: delucidazione su application.path
« Risposta #1 il: 10 Settembre 2012, 00:23:33 »
Ho notato una cosa: Se ho un programma in home/prova/prova.gambas e lo lancio da un collegamneto sulla scrivania la path del programma risulta la scrivania. Trattandosi di un collegamento la path non sarebbe giusto fosse quella dove risiede il programma? Che ne pensate?
Penso che ti riferisca ad un programma in formato eseguibile, se parli di un programma scritto in Gambas. Potresti chiarire meglio come hai rilevato che il percorso punti sulla directory scrivania e non su quella in cui risiede il programma?
Io ho fatto una prova e aprendo la proprietà del collegamento rilevo che il percorso indicato è sempre quello in cui risiede il programma.
(Vedi allegato).
 :ciao:
:ciao:

Offline doublemm

  • Maestro Gambero
  • ****
  • Post: 445
    • Mostra profilo
Re: delucidazione su application.path
« Risposta #2 il: 10 Settembre 2012, 17:00:45 »
ho notato che se da programma scrivo print application.path  la risposta a terminale è la direcotory dove risiede il programma. Se invece lancio il programma.gambas da un file di collegamento, quando eseguo il collegamento print application.path mi restituisce la dir di dove risiede il collegamento. Però ho anche visto che application.dir mi restituisce la dir di dove risiede l'eseguibile
Matteo DoubleMM Mion

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: delucidazione su application.path
« Risposta #3 il: 11 Settembre 2012, 11:22:57 »
Infatti, sono due proprità con risposte diverse, altrimenti non avrebbe senso farne due.

Le due proprietà ti permettono di conoscere da codice:
1) dovè che sei ora nel filesystem
2) l'indirizzo di dove si trova installato il tuo eseguibile

Dato che quasi sicuramente l'eseguibile non viene a trovarsi nella tua home directory, ma nelle dir di sistema (magari dopo opportuna installazione), le informazioni che potresti eventualmente usare per gestire il tuo programma sono fondamentalmente:
1) dove si trova gambas, e le sue librerie
2) dove è installato l'eseguibile
3) dove sono attualmente
4) le cartelle usate dal programma (es. temporanee, configurazione, ecc.)

Le prime tre vengono restitutite dai metodi di Application, in quanto è sempre presente (è statica), anche se avvii una singola Form, per qualsiasi applicazione. L'ultima è ovviamente di tua gestione, in quanto è soggetta a scelte personali. Di solito di usa la home dell'utente, su cui creare apposite cartelle dedicate all'applicativo, eventualmente anche nascoste (punto iniziale...).

Per testare veramente le proprietà di Application, prova a fare dei spostamenti dell'applicativo, mettendolo in varie parti del sistema, e nota le risposte.
Il discorso sui link è ininfluente sull'esito di questi valori, al massimo ritornano solo quello che riguarda la path da cui parte il programma.