Qt - Passaggio dati a oggetto da vari punti del programma

di Anonimizzato18924 il
2 risposte
Salve a tutti, sono nuovo e non particolarmente esperto di programmazione, quindi chiedo scusa in anticipo per eventuali baggianate

Sto realizzando un programma in ambiente Qt che dialoga con un dispositivo collegato alla porta seriale.
Su Qt (non so se in altri ambienti è diversa la cosa) mi è sufficiente istanziare un oggetto di tipo QSerialPort.

Ad esempio in file.h:

(...)
public: 
QSerialPort *port;
(...)
e in file.cpp

(...)
port = new QSerialPort(this);
port->open("COM3");
port->write(array);
(...)
Ora, in un altro punto del programma, in una classe differente, ho bisogno di inviare dei dati tramite quello stesso oggetto "port", ma non posso istanziarlo di nuovo perché sarei costretto a chiudere la porta e riaprirla laddove ne ho bisogno, rischiando così di perdere pacchetti in ricezione.

Esiste un qualche stratagemma noto per aggirare questo problema?

2 Risposte

  • Per come la vedo io l'oggetto che gestisce la porta seriale deve essere "globale". Vedi tu se utilizzare direttamente l'oggetto fornito dalle librerie qt oppure se creare una tua classe che al suo interno contiene l'oggetto di qt.
    In fondo la seriale è una sola...
  • Immaginavo che l'oggetto dovesse essere globale... c'è qualche keyword che si usa a questo scopo?
Devi accedere o registrarti per scrivere nel forum
2 risposte