Problema interazione tra due programmi
« il: Gennaio 09, 2008, 13:16 »
Ho preso un programma già esistente che al momento dell'avvio
necessitava una serie di dati che venivano forniti da riga di comando,
come riporto sotto:

python gdepth.py -x "min max" -y "min max" -z "bottom top" -r dpi \
        [-t tool-radius]  input.ngc


    -x, -y, -z      sono valori di coordinate
    -r                è la risoluzione
    -t                è un raggio
    input.ngc     è un file contenente una serie di coordinate


Tale programma, avviato, crea una immgine 3D in un widget in Tkinter.
Una volta chiusa la finestra il programma finisce di funzionare e per
riavviarlo devo rifare tutto.
Alle volte può capitare di dover fare delle modifiche al file
input.ngc e vederne gli effetti nella figura.
Per comodità quindi ho deciso di creare una interfaccia grafica,
sempre in Tkinter, nella quale inserisco tutti i dati richiesti.
Il programma originario l'ho messo in una funzione in un altro
file .py. Funzione che richiamo passandogli i dati necessari per la
creazione dell'immagine.
Così facendo credevo di riuscire ad riutilizzare il programma senza
dover riavviarlo. Invece al secondo tentativo va in errore.
Il programma originario richiama un modulo che opera sul file
input.ngc, lo legge e lo interpreta facendo compiere determinate
operazioni per la creazione dell'immagine.
Nel leggerlo tiene conto del numero di righe presenti in esso (ad
esempio 1008).
Alla seconda esecuzione pur non avendo modificato il file input.ngc o
avendone scelto un altro si genera l'errore perchè il programma va  a
cercare la riga 1009 che non c'è oppure non è quella che si attende.
Poichè non posso intervenire sul modulo che interpreta il file
input.ngc volevo sapere se esiste un sistema che mi permette di
annullare tutto ciò che ha fatto il vecchio programma dopo esser stato
richiamato ed aver generato l'immagine.