Oppure

Loading
10/08/07 10:28
cosimo.cin
Problema:

Sottopongo all'attenzione della comunità di sviluppatori Delphi presente in questa newsgroups i quesiti a seguire:

Il problema verte essenzialmente sulla possibilità di utilizzare librerie a caricamento dinamico (package run-time) nelle quali è suddivisa la mia applicazione. Questo in sé non rappresenterebbe un problema.
Ma purtroppo una delle caratteristiche salienti della mia applicazione (originariamente costituita da un unico progetto privo del supporto dei package a run-time) è quella di essere costituita da numerose forms tutte derivate da tre forms di base (ereditarietà applicata all'interfaccia utente).
Non potendo inserire direttamente nei package destinati al caricamento dinamico le tre unit contenenti le forms di base, incorrendo così in un conflitto di nome, ho optato per la creazione di un package a design-time (che ho regolarmente installato nell'IDE) nel quale ho collocato le tre unit anzidette provvedendo, quindi, alla loro rimozione dai singoli packages run-time (per ribadire quelli dove sono contenute le forms derivate dalle tre di base).
Allo stato non sussistono problemi per quanto attiene alla compilazione dei package run-time, ma il tentativo di apertura di una delle forms in esso contenuta viene bloccato da un messaggio di errore che mi avverte dell'assenza della classe base all'interno del package e che quindi Delphi non può visualizzarla con conseguente impossibilità di applicare modifiche.
In via del tutto accidentale ho scoperto che è sufficiente tenere aperto il package design-time (quello contenente le forms di base) unitamente a quelli run-time per ovviare al problema: posso quindi sia compilare/costruire la libreria (run-time), sia visualizzare le forms ereditate da quelle base.
Desidererei quindi sapere se esiste una strada alternativa per pervenire allo stesso risultato o se devo considerare questa come unica soluzione.
A questo aggiungo che ho effettuato tutto quanto sopra-descritto sia su Delphi 2006 che 2007 ottenendo il medesimo risultato e mi domando altresì se tale comportamento sia ascrivibile a dei bugs "resistenti" in entrambe le versioni o se lo si possa considerare conforme all'ambiente, magari in ragione di regole a me ignote.

Ringrazio ed attendo suggerimenti.     Cosimo.
:k:
aaa