Salve a tutti,
sto realizzando un programma in Delphi. E' da tempo che ci lavoro, e ormai in ogni unità la lista dopo "uses" (sotto "interface") è diventata un caos. In più, avevo continui problemi dovuti ai riferimenti circolari.
Allora ho pensato di spostare tutte le unità da includere direttamente nell'uses di "implementation", tranne quelle appartenenti alla VCL, ovviamente, che devono stare per forza nell'"interface" (altrimenti è impossibile derivare le classi).
Così:
codice:
interface
uses Windows, Registry, MIACLASSE3, Dialogs, MIACLASSE1, Forms, SysUtils, MIACLASSE2;
è diventato
codice:
interface
uses Windows, Registry, Dialogs, Forms, SysUtils;
implementation
uses MIACLASSE3, MIACLASSE1, MIACLASSE2;
Così mi sembrava tutto più ordinato e non c'era più il problema dei riferimenti circolari. Nessun problema al momento della compilazione , ma al momento dell'esecuzione ottengo un terribile errore Runtime Error 216 (Access Violation)... Immaginate la faccia che ho fatto.
Ora è chiaro che devo aver combinato qualcosa con gli uses, ma il punto è "perché"? Che c'è di male a mettere le mie classi nell'uses di "implementation", invece che in quello di "interface", fermo restando che le classi della VCL stanno comunque nell'uses di "interface".
Qualcuno più esperto di me potrebbe farmi capire?
Grazie in anticipo