Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Deep Tech Revolution: così Area Science Park apre i laboratori alle startup
Deep Tech Revolution: così Area Science Park apre i laboratori alle startup
Siamo tornati nel parco tecnologico di Trieste per il kick-off del programma che mette a disposizione di cinque startup le infrastrutture di ricerca, dal sincrotrone Elettra ai laboratori di genomica e HPC. Roberto Pillon racconta il modello e la visione
HP OMEN MAX 16 con RTX 5080: potenza da desktop replacement a prezzo competitivo
HP OMEN MAX 16 con RTX 5080: potenza da desktop replacement a prezzo competitivo
HP OMEN MAX 16-ak0001nl combina RTX 5080 Laptop e Ryzen AI 9 HX 375 in un desktop replacement potente e ben raffreddato, con display 240 Hz e dotazione completa. Autonomia limitata e calibrazione non perfetta frenano l'entusiasmo, ma a 2.609 euro è tra le proposte più interessanti della categoria.
Recensione Google Pixel 10a, si migliora poco ma è sempre un'ottima scelta
Recensione Google Pixel 10a, si migliora poco ma è sempre un'ottima scelta
Google ha appena rinnovato la sua celebre serie A con il Pixel 10a, lo smartphone della serie più conveniente se consideriamo il rapporto tra costo e prestazioni. Con il chip Tensor G4, un design raffinato soprattutto sul retro e l'integrazione profonda di Gemini, il colosso di Mountain View promette un'esperienza premium a un prezzo accessibile. E il retro non ha nessuno scalino
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 08-12-2016, 15:00   #1
sottovento
Senior Member
 
L'Avatar di sottovento
 
Iscritto dal: Nov 2005
Città: Texas
Messaggi: 1722
[c#][wpf] Riorganizzazione HMI

Cari colleghi
sto mettendo le mani in una HMI composta da una sola finestra WPF piena di controlli, sia standard sia custom (viste 3D).
L'HMI funziona abbastanza bene ed e' anche ben organizzata; ci sono tuttavia dei problemi sul refresh.
Infatti, questa HMI rinfresca i dati prendendoli da database su evento (riceve degli eventi quando il database e' modificato).
Ogni query e' effettuata in modalita' asincrona: si lancia la query, si passa a fare altro (in pratica non si freeza l'hmi ma i controlli che aspettano i dati mostrano un'icona di attesa, tipo youtube) e quando i dati sono disponibili li si preleva e si aggiornano le varie tabelle/controlli/viste 3d/...

Il problema e' che ci sono alcune sezioni che dipendono dalle altre, e possono essere aggiornate solo in determinate condizioni.
Per esempio, nel codice di refresh di una particolare sezione si potrebbe trovare un codice simile:

Codice:
void refreshSection1()
{
     if (!refreshSection2InProgress)
     {
                  <qui c'e' il lancio della query di refresh, la cattura dei dati,....>
     }
}
In questo modo, l'HMI non e' mai fastidiosamente bloccata; pero' e' ovvio che puo' succedere che una parte dell'HMI non venga rinfrescata quando necessario!

Sto quindi cercando il modo piu' indolore per evitare di perdere il refresh
1 senza stravolgere il codice
2 senza inserire inutili blocchi dell'HMI

Per esempio, potrei pensare di cambiare il tipo delle variabili "refreshSectionXXXInProgress" in modo che siano delle sezioni critiche o simili ed attendere che il refresh sia finito prima di partire con il refresh della parte successiva. Questo pero' bloccherebbe l'interfaccia utente.

Suggerimenti?
La mia idea sarebbe quella di introdurre un sistema di notifica quando un refresh e' finito, cosi' che si possa ripetere l'operazione che e' stata precedentemente abortita. Pero' e' una modifica pesante e va a pasticciare parecchio il software... sbaglio?
__________________
In God we trust; all others bring data
sottovento è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Deep Tech Revolution: così Area Science Park apre i laboratori alle startup Deep Tech Revolution: così Area Science P...
HP OMEN MAX 16 con RTX 5080: potenza da desktop replacement a prezzo competitivo HP OMEN MAX 16 con RTX 5080: potenza da desktop ...
Recensione Google Pixel 10a, si migliora poco ma è sempre un'ottima scelta Recensione Google Pixel 10a, si migliora poco ma...
6G, da rete che trasporta dati a rete intelligente: Qualcomm accelera al MWC 2026 6G, da rete che trasporta dati a rete intelligen...
CHUWI CoreBook Air alla prova: design premium, buona autonomia e qualche compromesso CHUWI CoreBook Air alla prova: design premium, b...
Nintendo Switch 2 finalmente disponibile...
MacBook Neo è uno shock per l'ind...
Offerte di Primavera: Amazon Seconda Man...
Offerte di Primavera Amazon: rete pi&ugr...
Offerte di Primavera Amazon: la smarthom...
Intel ha creato Heracles, un chip che ca...
Apple e offerte di primavera: giù...
Quake III Arena torna in 4K path-traced:...
La GPU di Apple M5 Max sfida RTX 5080 e ...
Samsung Galaxy S26, preordini record neg...
iPhone 17e è appena arrivato ma A...
La condivisione di libri pirata via torr...
Crimson Desert: rivelate tutte le modali...
I robot super scontati sono 5, già bests...
Chip sotto 1 nanometro, accordo di colla...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 10:07.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v