Una variabile comune per 2 applicazioni

di Anonimizzato4175 il
7 risposte
Salute a tutti, sono nuovo del forum e non faccio programmi di professione.
Ho la necessità di accedere (lettura e modifica) a variabili da 2 programmi che gestiscono VBA, in pratica per fare "dialogare" tra loro i programmi volevo vedere se potevo usare un metodo semplice: ogni applicazione verifica lo stato di una variabile e se questa è stata modificata allora esegue delle operazioni e modifica una altra variabile che sarà vista a sua volta dall'altro programma.
Ho visto che in Windows XP (risorse computer > avanzate > variabili ambiente) posso creare nuove variabili.
Il 1° programma mi vede le variabili e modifica, tutto OK
Invece in VBA4 non so che comandi usare, ho provato a guardare in MSDN ma è complicato per me, se qualcuno è così gentile da darmi suggerimenti.
Grazie, mille

7 Risposte

  • Preciso che il programma che con cui riesco a leggere/modificare le variabili è ProgeCad utilizzando le funzione autolisp (che conosco bene)

    Invece con VBA sono una frana e non so la procedura

    Aiutatemi!
  • Non so se in VB4 fossero presenti comandi per lavorare direttamente con le variabili ambiente ma tieni conto che sono contenute nel registro sotto HKEY_LOCAL_MACHINE\SYSTEM\Controlset001\Control\Session Manager\Envoronment.

    Se la vuoi fare più pulita usa una chiave di registro specifica lasciando perdere le variabili ambiente di windows. Ci sono un sacco di librerie per VB che permettono facilmente di crearne di nuove e di usarle. Sono tipicamente usate in fase di installazione per salvare il path dell'applicazione, le licenze, i paramentri personali dell'applicativo, gli ultimi documenti aperti, ecc...
  • Grazie mille, chip

    E' chiedere troppo se c'è per caso in giro un esempio di codice?
    Anche tra una settimana, quando magari ti capita sottomano un qualcosa che può andare bene.

    Io in pratica, visto che ProgeCad a differenza di AutoCad non gestisce il menù di schermo (è una striscia ai lati con testo e su cui puoi cliccare) devo solo fare un form con tutti bottoni e leggo se da progecad è stato modificata la variabile (che contiene il testo visibile) gli faccio modificare la caption del button; viceversa premendo su un pulsante modifico il valore di un'altra variabile (impostandola ad esempio su 1,2,3 ecc) che viene "riconosciuta" da ProgeCad.

    Spero che poi non ci siano ritardi di comunicazione tra i programmi e che ad esempio non possa leggere la variabile se l'altro programma la sta scrivendo...
  • Credo sia perfetto, di solito riesco a venirne a una se ho le informazioni.
    Se proprio tra un po (minimo 15 giorni perchè vado via) ti disturbo ancora
    ciao, Ambrogio
  • Utilizza le funzioni SaveSetting per scrivere la variabile e GetSetting per leggerla.
  • Grazie, proverò prima così allora, poi se ci sono problemi faccio come dice Chip
    Anch'io con ProgeCad uso, ad esempio per variabile RC1:
    (getenv "rc1") per leggere
    (setenv "rc1" "nuovovalore") per scrivere
Devi accedere o registrarti per scrivere nel forum
7 risposte