Salve a tutti, vorrei alcuni consigli su un problema che potrebbe essere generale ma che, nel mio specifico, applico a Delphi.

Ho un'applicazione composto da un MDI padre e una serie di MDI child. La struttura è la seguente:

- MDI Padre [0] che contiene i menu;
- MDI Child generico [1], che contiene una TDBGrid che fa riferimento a testate documenti, questo MDI Child permette la modifica e la creazione di nuovi documenti.
- MDI Child [2] che è la form con cui creo/modifico i documenti.

Il problema nasce nel momento in cui vado ad aprire la form [2] per andare in modifica: se ho due record da modificare: ID1 ed ID2, e li apro contemporaneamente (in pratica ho due form [2] una con i riferimenti a ID1 e l'altra con i riferimenti ad ID2) non importa su quale form io stia lavorando ma l'applicazione fa sempre riferimento all'ultima aperta. E' come se le variabili in memoria venissero sovrascritte piuttosto che duplicate.

Le ragioni del problema le comprendo, ma come risolverlo non so.

Ps. la form la creo con il comando Application.createform(Tform, frm)

Qualche consiglio?