Originariamente inviato da ilguardiano
grazie... ma c'è qualche alternativa?

lo standard che utilizziamo prevede dataset condivisi da + form..
Più che uno standard, ogni elemento andrebbe utilizzato per il proprio scopo.

Mi spiego: non è logico fare i salti mortali per ottenere una determinata funzionalità poichè la struttura fornita al programma non rispecchia il modo più congeniale di fare le cose.

I DataModule sono utili quando più DataSet (ma anche altri componenti) *devono* essere condivisi; il "devono" indica che, a fronte della necessità di "condivisione", tali componenti vengono messi in un DataModule centralizzato.

In tutti gli altri casi (come quello che hai presentato), condividere un DataSet può portare solo ad effetti collaterali e, preso coscienza di questo, si dovrebbe evitare una simile organizzazione dell'applicativo, poichè la necessità di condividere i componenti non sussiste.

Ad ogni modo, l'unica soluzione che posso suggerirti è quella di utilizzare comunque gli eventi OnXXXScroll del DataSet e, da tali eventi, fare riferimento ai form eventualmente istanziati che dipendono da tale comportamento; in sostanza, si controlla se ciascun form dipendente è visualizzato e, in tal caso, si opera sui componenti e sui controlli dello stesso modificando il loro stato opportunamente.

Però, come puoi notare, quello che arrivi ad ottenere per una forzatura immotivata dei componenti nel DataModule centrale è una struttura che ribalta lo scopo per cui essi sono stati creati: avere componenti condivisi tra più form. Nel caso in esame, è il DataModule a condividere i form e non viceversa, poichè il codice che dovrebbe risiedere nel form risiede in realtà nel DataModule.

Non mi viene in mente altro.

Ciao!