L'obiettivo principale dal mio punto di vista dell'utilizzo di componenti è la possibilità di utilizzare all'interno di un progetto videate di altri progetti senza doverle in qualche modo incorporare nel progetto stesso, mantenedo quindi l'indipendenza della compilazione delle diverse parti. Quando dico utilizzare una videata intendo sia la possibilità di mostrare dati che di interagire con essi dall'applicazione "che la ospita" (d'ora in avanti la chiamerò applicazione ospite). Un esempio classico è quello di mostrare all'utente una videata di lookup per selezionare un valore, ma questa videata non fa parte del progetto ospite bensì è utilizzata trasversalmente da N progetti/applicazioni. Il vantaggio è appunto quello di non replicarne la struttura in tutti i progetti in modo più o meno automatico ma avere anche a runtime un'unica entità utilizzata da tutte le applicazioni.
Dalla versione 9.5 di inde è possibile caricare componenti da codice tramite la funzione createFormFromLibrary, in particolare è possibile settare l'oggetto sub-form di una videata del progetto ospite. Questo significa che nel progetto che vuole utilizzare la componente (dove quindi non sono presenti gli oggetti della componente) è necessario definire una sub-form in una videata in modo da poterla "riempire" da codice. L'unico modo che ho trovato per creare una sub-form è quello di tirare una videata del progetto all'interno di un'altra dello stesso progetto. Sarebbe molto più sensato secondo me avere la possibilità di aggiungere ad una videata una subform senza utilizzare questo meccanismo proprio per il fatto che la subform verrà riempita da codice quindi a design time non ha senso usarne un'altra dummy.
Inoltre sarebbe interessante avere un meccanismo semplice di comunicazione bidirezionale tra applicazione ospite e videata della componente, l'evento onSendMessage è molto utile per la comunicazione applicazione ospite -> componente, nel senso inverso sono riuscito (nel caso sopra citato della lookup) a recuperare il valore selezionato giocando con gli oggetti però forse si potrebbe semplificare in qualche modo.