Newsgroup: it.comp.lang.delphi
Titolo: Delphi : si possono sviluppare programmi modulari ?

Buon giorno.
Stò continuando le mie prove per modulizzare una nuova gestione è ho un 
altro ENORME problema.
L?esempio di gestione e:
Package Archivi base (gestisce es. anagrafico articoli, tabelle varie 
ecc.)
Package Contabilità di magazzino (gestisce es.movimenti magazzino, 
inventari ecc.)
Package Ordini produzione (gestisce es.ordi e situazione ordinato ecc.)
In questo modo consegno al cliente solo i moduli richiesti e (pensavo) 
implemento di volta in volta nuove richieste che possono essere 
aggiunte alla gestione principale.
Primo modulo archivi di base : Archivi di base -> tutto ok
Secondo modulo : movimenti magazzino; dal menu devo poter richiamare 
oltre i programmi di movimento, inventario ecc. anche alcuni form 
inseriti nel package Archivi di base. Quindi EXE lo collego in modo 
statico con ?package Archivi di base? e ?Package Contabilità di 
magazzino?
Qui? nasce il problema
Tutti i mie form derivano da altri form messi in repository .
Quindi ho una gerarchia del tipo
TformCustom (classe generica con nuovi metodi e property)
TformCustomMDI (classe generica per form MDI (figlia di TformCustom)con 
nuovi metodi e property)
TformCustomDataEntry (classe generica per data entry (figlia di 
TformCustom)con nuovi metodi e property)
MainProgram (exe)
TformMDI che è il form MDI che fa da menù ed è presente anche 
TformCustom e TformCustomMDI da cui deriva TformMDI
In ?package Archivi di base? ho TformCustom, TformCustomDataEntry, 
TformArticoli.
In ?Package Contabilità di magazzino? ho TformCustom, 
TformCustomDataEntry, TformMovimentiArticoli.
Compilo i package separatamente tutto ok
Compilo MainProgram che fa riferimento in entrambi i package e ho il 
seguente errore
?PackageArchiviBase e PackageContabilitaMag both contain TformCustom?
?PackageArchiviBase e PackageContabilitaMag both contain 
TformCustomDataEntry?
e via con un elenco di unit (mie librerie) a loro volta richiamati nei 
form precedenti.
Ma allora come faccio a costruire un package per ogni modulo ????
(non pox usare DLL in quanto utilizzo gestione MDI)
E poi come farei a richiamare da un package all?altro i vari form, 
oppure Datamodule residenti in altri package ???
E? possibile risolvere il problema o devo tornare all? EXE unico 
(enorme in quanto contiene un sacco di unit per ogni modulo)
Scusate per il poema ma  non sapevo come spiegarmi.
Ciao a tutti e un grazie in anticipo.
Guido
P.S. esiste un libro e sito web in cui trovare informazioni su 
programmazione avanzata in delphi ?
-- 
Questa è una firma automatica di MesNews.
Sito: 
http://www.mesnews.net

 ?PackageArchiviBase e PackageContabilitaMag both contain 
Apparentemente, il problema nasce dal fatto che hai encluso in entrambi 
i package la stessa form padre.  Delphi ha un bug che non ti consente di 
aprire le form ereditate, se l'ambiente non "vede", da qualche parte, le 
form "ancestor".  Ti conviene creare un project group, includere tutti i 
package nel p.g., nell'ordine in cui vanno compilati, quindi includerci 
anche il progetto del tuo eseguibile.  Elimina i doppioni e includi le 
form ancestor nei package giusti.  Fai un rebuild di tutto e dovrebbe 
funzionare.