Messaggio
da niki77 » lunedì 10 dicembre 2007, 0:30
Tralasciando ogni osservazione all'architettura che non può essere valutata se non dopo averla vista e analizzata attentamente, da quello che ho capito controlli quella variabile ad ogni passaggio per g0x di una delle rispettive classi,in questo caso ovviamente non riusciresti in tutti i casi ad arrestare la macchina prima della fine del ciclo.
Per ovviare a questo problema dovresti suddividere il lavoro in 2 layer differenti,uno di calcolo,che può essere rappresentato da quelle classi che usi al momento per linee archi e rettangoli, e l'altro layer invece si occupa solo di comunicare con la porta ,e in questo layer ,che potrebbe essere una semplice classe, e definire all'interno di quest'ultima dei metodi primitivi che non richiedono logica di livello superiore(spindle on-off,e-stop etc etc).
Se invece questo lavoro ti sembra eccessivo per quello che devi fare, puoi limitarti a far girare le tue classi su un thread diverso da quello della form e rendere disponibile(nelle classi linee archi e rettangoli)un metodo adibito allo stop, per poterlo poi richiamare dalla form principale quando necessario.
Meglio non dire una cosa che dirne una sbagliata!