David, IMHO, you need to check out DLL's. I have used them in the past to provide both extensibility and improved (i.e. easier) maintenance. You can specify the DLL extension (e.g. I usually use ".twg" for mine ;-) so that your main form can locate and load any and all of the DLL's associated with your app. (For an app that is composed of various "subapplications", I usually have a small MainMenu form that identifies any available ".twg" DLL's and queries them for their menu names, images, etc., and adds that information to the menu and task bar . . . as you create them and get them working, they automatically appear in the menu.)
As I mentioned, in creating the DLL's, I add a function that returns information about the DLL for use in managing the user access to the DLL. One of the things I like about doing this is that I can add or omit DLL's without having to worry about rebuilding the MainMenu form . . . it just automatically figures out what options are available. You can also pass information about whether a particular DLL needs to be loaded and left loaded or only loaded on request. A particularly significant benefit is the ability to have a ReportModule that also detects and adds report DLL's (which can have a slightly different DLL extension, e.g. ".twr" in my case). Respectfully, Ralph D. Wilson II Web Site: <http:thewizardsguild.com> Systems Analyst Email: <[EMAIL PROTECTED]> San Antonio, TX 78259 Alt Email: <[EMAIL PROTECTED]> H: (210) 497-2643 M: (210) 387-7744 "Any sufficiently advanced technology is indistinguishable from magic." A.C.Clark _______________________________________________ Delphi mailing list -> [email protected] http://www.elists.org/mailman/listinfo/delphi

