License. Contains information on the JVCL usage and distribution license.
The files in JVCL is arranged according to a new folder structure. Previous versions of JVCL put all source files into one folder and all packages into another. The number of units in JVCL has forced us to divide this further in the current version. The current folder structure looks like this:
<JVCL>
<root> - contains important documents, like this readme
\archive - old components (not installed) for those cases where you are unable to migrate to a newer version or replacement
\bin - output folder for binaries (from \examples)
\common - contains common units, like API translations, INC files and the like
\converter - DAT files for JVCLConvert (in \devtools\JVCLConvert)
\dcu - output folder for dcu files (from \examples)
\design - contains units only used at design-time
\devtools - contains the sources for various useful tools
\Dict - dictionary files for TJvSpellChecker
\examples - all available demos
\help - contains the help file(s) and additional documentation
\images - original images and rc files for the palette icons
\Includes - C/C++ include files for UIB
\install - source scripts and utilities for the installer
\lib
\c5 - dcu and obj output for BCB5 packages
\c6 - dcu and obj output for BCB6 packages
\d5 - dcu output for Delphi 5 packages
\d6 - dcu output for Delphi 6 packages
\d7 - dcu output for Delphi 7 packages
\d9 - dcu output for Delphi 2005 packages
\d10 - dcu output for Delphi/C++Builder 2006 packages
\d11 - dcu output for RAD Studio 2007 packages
\locale - contains the DxGettext template and some ready to use translations
\packages
\bin - bootstrapping tools
\c5 - packages for C++Builder 5
\c6 - packages for C++Builder 6
\c6per - modified packages for C++Builder 6 Personal Edition
\d5 - packages for Delphi 5
\d5std - modified packages for Delphi 5 Standard
\d6 - packages for Delphi 6
\d6per - modified packages for Delphi 6 Personal Edition
\d7 - packages for Delphi 7
\d7per - modified packages for Delphi 7 Personal Edition
\d9 - packages for Delphi 2005
\d9per - modified packages for Delphi 2005 Personal Edition
\d10 - packages for Delphi/C++Builder 2006
\d11 - packages for RAD Studio 2007
\xml - Source xml files for the packages. All the packages are generated from these files.
\Resources - contains res, dcr and other resource files used at either run or design time
\run - contains units used at run-time
Depending on which distribution of JVCL you download, some folders and files might not be created on your system.
Several visual JVCL controls supports XP theming (more will likely be added subsequently). Theming is automatically activated for users of Delphi 7 (and above) and you don't need to do anything special in this case. For earlier versions of Delphi (5 and 6), you need to download Mike Lischke's ThemeManager package and configure the JVCL theming support manually. To activate JVCL theming, proceed as follows:
If you want theming support in C++ Builder 5 and 6, you will need to
manually create the appropriate DCP file for the installation to
succeed instead of the steps two and three in the above list. Here are
the steps for BCB5, thanks to Carmelo Viavattene :
Theming should now be activated for those JVCL controls that
supports it. Note that you still need to be running on Windows XP with
a manifest file for your project to see any theming.
CLX support was dropped in Version 3.33
The JVCL is available in three different distributions. These are:
Each of the "stand-alone" packages are also available as separate distributions (see USEJVCL below for a list of stand-alone packages). In case we get enough requests, we might also provide each package as a separate distribution.
Previous versions of JVCL had one run-time and one design-time package for each version of supported compilers (i.e one pair for Delphi 5, another pair for Delphi 6 etc). The current JVCL, however, is split into a larger set of smaller packages, where each package contains logically related components. Each run-time package also has a matching design-time package with the registration code and any design-time editors required by the run-time package. The following packages are currently available:
Package | Description | Contains | Required JVCL packages (packages in parenthesisses are required by the design-time package) |
---|---|---|---|
JvCore | Contains the core units used by a large part of the JVCL |
Core support units TJvJVCLAboutComponent TJvContextProvider TJvColorProvider TJvAppIniStore TJvAppRegistryStore TJvLookupAutoComplete |
none |
JvSystem | System related components |
TJvSHFileOperation TJvChangeNotify TJvDragDrop TJvDropTarget TJvHidDeviceController TJvNTEventLog TJvScreenSaver TJvDeviceChanged TJvJoystick TJvSoundControl TJvKeyboardStates TJvDirectories TJvSystemColors TJvAppDdeCmd TJvPerfStat95 TJvSimpleXML TJvXMLDatabase TJvRas32 TJvCommStatus TJvFormStorage TJvSearchFiles TJvMRUList TJvMRUManager TJvShellHook TJvWindowHook TJvTimer TJvThread TJvThreadTimer TJvTimerList TJvAppInstances |
JvCore |
JvStdCtrls | "Standard" or enhanced standard controls |
TJvMainMenu TJvPopupMenu TJvSystemPopup TJvCalculator TJvBrowseForFolderDialog TJvBitBtn TJvImgBtn TJvCheckBox TJvRadioButton TJvRadioGroup TJvUpDown TJvDomainUpDown TJvControlPanelButton TJvStartMenuButton TJvRecentMenuButton TJvFavoritesButton TJvEdit TJvMemo TJvRichEdit TJvCheckedMaskEdit TJvMaskEdit TJvHotKey TJvCalcEdit TJvComboEdit TJvFilenameEdit TJvDirectoryEdit TJvDateEdit TJvSpinEdit TJvIPAddress TJvImage TJvPageControl TJvProgressBar TJvGradientProgressBar TJvStatusBar TJvTabControl TJvToolBar 3. TJvControlBar TJvCoolBar TJvGroupBox TJvHeaderControl TJvPanel TJvBevel TJvLabel TJvStaticText TJvComboBox TJvListBox TJvCheckListBox TJvTreeView TJvListView TJvCheckTreeView TJvColorComboBox TJvFontComboBox TJvDateTimePicker TJvMonthCalendar TJvDrawGrid TJvStringGrid TJvScrollBox TJvTrackBar TJvxSlider TJvImageList |
JvCore, JvSystem |
JvCtrls | Visual controls |
TJvTransparentButton TJvTransparentButton2 TJvArrowButton TJvCaptionButton TJvColorButton TJvHTButton TJvTransLED TJvSpacer TJvSwitch TJvSpeedBar TJvCaptionPanel TJvItemsPanel TJvMovableBevel TJvRollOut TJvFooter TJvGroupHeader TJvComponentPanel TJvBehaviorLabel TJvInstallLabel TJvHTLabel TJvWinampLabel TJvImageComboBox TJvImageListBox TJvHTListBox TJvHTComboBox TJvUninstallComboBox TJvUninstallListBox TJvDriveCombo TJvDriveList TJvFileListBox TJvDirectoryListBox TJvRegistryTreeView TJvPlaylist TJvScrollMax TJvaScrollText TJvContentScroller TJvPageScroller TJvScrollingWindow TJvScrollText TJvSplitter TJvxSplitter TJvSyncSplitter TJvClock TJvZoom TJvDice TJvHint |
JvCore, JvStdCtrls |
JvCmp | Non-visual components |
TJvAlarms TJvConverter TJvDataEmbedded TJvCreateProcess TJvEnterAsTab TJvMergeManager TJvPageManager TJvPatchFile TJvProfiler TJvStrHolder TJvTimeLimit TJvWinHelp TJvTranslator TJvPrint TJvEasterEgg |
JvCore, JvSystem (JvStdCtrls) |
JvCustom | Custom controls and "advanced" components |
TJvValidateEdit TJvTrayIcon TJvScheduledEvents TJvBalloonHint TJvEditor TJvHLEditor TJvHLEdPropDlg TJvGammaPanel TJvOutlookBar TJvLookout TJvExpress TJvLookOutButton TJvExpressButton TJvRadioControl TJvLinkLabel TJvInspector TJvInspectorBorlandPainter TJvInspectorDotNETPainter TJvThumbImage TJvTimeLine TJvTMTimeLine |
JvCore, JvCtrls, JvSystem, |
JvDlgs | Dialog components |
TJvSelectDirectory TJvOpenDialog TJvSaveDialog TJvTipOfDay TJvFindReplace TJvDSADialog TJvPageSetupDialog TJvPageSetupTitledDialog TJvConnectNetwork TJvDisconnectNetwork TJvAddPrinterDialog TJvFindFilesDialog TJvFormatDriveDialog TJvColorDialog TJvOrganizeFavoritesDialog TJvComputerNameDialog TJvAppletDialog TJvChangeIconDialog TJvShellAboutDialog TJvRunDialog TJvObjectPropertiesDialog TJvNewLinkDialog TJvAddHardwareDialog TJvOpenWithDialog TJvDiskFullDialog TJvExitWindowsDialog TJvOutOfMemoryDialog TJvObjectPickerDialog TJvDualListDialog TJvImageDlg TJvLoginDialog TJvProgressDialog TJvProgressComponent TJvDiskPrompt TJvCopyError TJvDeleteError TJvRenameError |
JvCore, JvSystem, JvStdCtrls |
JvCrypt | Encryption and Compression components |
TJvCabFile TJvZLibMultiple TJvGenetic TJvCaesarCipher TJvXorCipher TJvVignereCipher TJvSerialMaker |
JvCore |
JvMM | Multimedia and graphic components |
TJvAnimate TJvAnimatedImage TJvBmpAnimator TJvGIFAnimator TJvGradient TJvGradientHeaderPanel TJvIconList TJvID3v1 and TJvID3v2 TJvImageRotate TJvImageTransform TJvImageWindow TJvImageSquare TJvPicClip TJvSlider TJvSpecialImage TJvSpecialProgress TJvStarfield TJvWaitingGradient TJvWaitingProgress TJvWavePlayer |
JvCore, JvCmp, JvCtrls, JvSystem |
JvHMI | HMI Components | TJvLED
TJvSegmentedLEDDisplay TJvDialButton |
JvCore |
JvNet | Network and Internet technology components |
TJvFtpGrabber TJvHttpGrabber TJvMultiHttpGrabber TJvMail TJvHtmlParser TJvStrToHtml TJvStringListToHtml TJvFormToHtml TJvRichEditToHtml TJvRgbToHtml |
JvCore, (JvStdCtrls) |
JvAppFrm | Application and Form related components |
TJvAppEvents TJvAppAnimatedIcon TJvFormAnimatedIcon TJvApplicationHotKey TJvTransparentForm TJvFormAnimation TJvFormWallpaper TJvFormMagnet TJvFormAutoSize TJvGradientCaption |
JvCore, JvSystem, JvStdCtrls, (JvCmp, JvMM, JvCtrls) |
JvDB 5. |
Generic DB access and DB controls |
TJvCsvDataset TJvMemoryData TJvDBDatePickerEdit TJvDBProgressBar TJvDBRichEdit TJvDBSpinEdit TJvDBLookupList TJvDBLookupCombo TJvDBLookupEdit TJvDBRadioPanel TJvDBCombobox TJvDBTreeview TJvDBTreeviewCombo TJvDBLookupTreview TJvDBGrid TJvDBComboEdit TJvDBDateEdit TJvDBCalcEdit TJvDBStatusLabel TJvHTDBLabel TJvDBCheckBox |
JvCore, JvStdCtrls, |
JvBDE 5. |
BDE specific components and controls |
TJvDBFilter TJvDBIndexCombo TJvDatabaseItems TJvTableItems TJvDBMove TJvDBProgress TJvQBEQuery TJvDBSecurity TJvBDEMemoryTable TJvQuery TJvBDESQLScript |
JvCore, JvDB, JvDlgs |
JvInterpreter | Components and units related to JvInterpreter |
TJvInterpreter TJvInterpreterFm |
JvCore, JvCtrls, JvCustom |
JvBands | Units for band object development | Band object wizard | JvCore |
JvPlugin | JvPlugin related components |
TJvPlugin TJvPluginManager Plugin wizard |
JvCore |
JvJans | Jans Delphi Components |
TJvMarkupLabel TJvMarkupViewer TJvSAL TJvSticker TJvSALCore TJvSALMath TJvYearGrid TJvAirBrush TJvTracker TJvGridFilter TJvGridPrinter TJvJanTreeview TJvPaintFX TJvDrawImage TJvArrayButton TJvForthScript TJvTurtle TJvBitmapButton TJvSpeller TJvShapedButton TJvSimScope TJvSimIndicator TJvSimPID TJvSimPIDLinker TJvSimConnector TJvLogic TJvSimButton TJvSimLight TJvSimLogicBox TJvSimReverse TJvCSVBase TJvCSVEdit TJvCSVComboBox TJvCSVCheckBox TJvCSVNavigator |
JvCore |
JvGlobus | Globus Delphi Components |
TJvgExportDBETable 5. TJvgDBNAvigator TJvgPrintCrossTable TJvgDBGrid 5. TJvgVertDBSGrid 5. TJvgSysInfo TJvgMaskEdit TJvgBevel TJvgBitBtn TJvgGraphicButton TJvgGraph TJvgTreeView TJvgCheckTreeView TJvgSplitter TJvgShadow TJvgShade TJvgButton TJvgImageGroup TJvgProgress TJvgTransparentMemo TJvgWinMask TJvgGroupBox TJvgBitmapImage TJvgListBox TJvgCheckListBox TJvgAskListBox TJvgScrollBox TJvgStringGrid TJvgSpeedButton TJvgWizardHeader TJvgCaption TJvgGridHeaderControl TJvgCheckBox TJvgRuler TJvgPageControl TJvgTabControl TJvgMailSlotServer TJvgMailSlotClient TJvgLabel TJvgFlyingText TJvgDigits TJvgStaticText TJvgHoleShape TJvgExportExcel TJvgExportHTML TJvgHelpPanel TJvgExportXML TJvgXMLSerializer TJvgLanguageLoader TJvgExceptionHandler TJvgJumpingComponent TJvgStringContainer TJvgSysRequirements TJvg3DColors TJvgHint TJvginspectorGrid TJvgReport TJvgReportParamsEditor TJvgLogicProducer TJvgSmallFontsDefence TJvgMultipleResources TJvgSingleInstance TJvgFixFont TJvgComponentDescription TJvgQRLabel 5. TJvgQRDBText 5. TJvgMyQRPreview 5. |
JvCore, JvSystem, JvStdCtrls, (JvCtrls, JvCustom, JvDlgs, JvMM) |
JvPrintPreview | Print Preview Components |
TJvPreviewControl TJvPreviewRenderRichEdit TJvPreviewRenderStrings TJvPreviewRenderGraphics TJvPreviewRenderControl TJvPreviewPrinter |
JvCore |
JvPageComps | Page style components |
TJvPageList TJvPageListTreeView TJvSettingsTreeView |
JvCore |
JvValidators | Validator and Error Indicator components |
TJvValidators TJvValidationSummary TJvErrorIndicator |
JvCore |
JvUIB | UIB (Unified Interbase) Components |
TJvUIBDatabase TJvUIBTransaction TJvUIBQuery TJvUIBBackup TJvUIBRestore |
JvCore 4. |
JvWizard | Wizard component and RouteMaps formerly known as "K Wizard" |
TJvWizard TJvWizardRouteMapNodes TJvWizardRouteMapSteps |
JvCore 4. |
JvTimeFramework | Set of PIM components formerly known as UIL Time Framework 2.0 | TJvTFAlarm
TJvTFScheduleManager TJvTFGlanceTextViewer TJvTFMonths TJvTFWeeks TJvTFDays TJvTFUniversalPrinter TJvTFDaysPrinter |
JvCore 4. |
JvManagedThreads | Thread components (for version 6 and newer only) |
TJvMtManager
TJvMtThread TJvMtThreadToVCL TJvMtVCLToThread TJvMtThreadToThread TJvMtSection TJvMtCountingSection TJvMtMonitorSection |
JvCore |
JvDotNetCtrls | DotNet style components (Do not require the .Net framework to
be installed) |
TJvDotNetCheckListBox
TJvDotNetEdit TJvDotNetHotKey TJvDotNetListBox TJvDotNetListView TJvDotNetMaskEdit TJvDotNetMemo TJvDotNetRichEdit TJvDotNetScrollBox TJvDotNetTreeView TJvDotNetDBEdit 5. TJvDotNetDBListBox 5. TJvDotNetDBLookupListBox 5. TJvDotNetDBMemo 5. TJvDotNetDBRichEdit 5. |
|
JvDocking | Docking components | TJvDockServer
TJvDockClient TJvDockDelphiStyle TJvDockVCStyle TJvDockVIDStyle TJvDockVSNetStyle |
JvCore 4. |
JvXPCtrls | XP/Office XP style controls (Do not require to run on XP to
display correct look) |
TJvXPStyleManager
TJvXPBar TJvXPContainer TJvXPButton TJvXPToolButton TJvXPCheckBox TJvXPProgressBar |
The following new components and libraries has been added since JVCL 2.10:
Below follows a list of components that have been removed, renamed or are deprecated since JVCL 2.10 (i.e they will most likely disappear in the near future).
TJvBreatheSkin, TJvCommandEdit, TJvCoupler, TJvCPUUsage, TJvHighLighter, TJvMemoryInfos, TJvMousePositionner, TJvNagScreen, TJvPerforated, TJvPopupMemo, TJvAutoSave, TJvRegAuto, TJvCurrencyEdit, TJvxCurrencyEdit, TJvFloatEdit, TJvFloatEdit2, TJvButton
The following units and classes have been renamed in this version:
Previous | New |
---|---|
JvTMTL | JvTMTimeLine |
JvAutoSizeCompo | JvFormAutoSize |
JvGrdCpt | JvGradientCaption |
JvPlacemnt | JvFormPlacement |
JvVerInf | JvVersionInfo |
JvUCB | JvUninstallCtrls |
JvTimerLst | JvTimerList |
JvSysComp | JvCreateProcess |
JvObjStr | JvObjectStrings |
JvMrgMngr | JvMergeManager |
JvMouseTimerU | JvMouseTimer |
JvFDualList | JvDualListForm |
JvExcptDlg | JvExceptionForm |
JvDBSecur | JvDBSecurity |
JvDBRichEd | JvDBRichEdit |
JvDBPrgrss | JvDBProgress |
JvDBExcpt | JvDBExceptionForm |
JvColorBtn | JvColorButton |
JvCntScr | JvContentScroller |
JvCmdEdit | JvCommandEdit |
JvChPswDlg | JvCheckPasswordForm |
JvOLBar | JvOutlookBar |
JvSbSetup | JvSpeedbarSetupForm |
JvRegTV | JvRegistryTreeview |
JvPrgrss | JvProgressUtils |
JvPluginMan | JvPluginManager |
JvQbnddlg | JvQueryParamsForm |
JvRadioCtl | JvRadioControl |
JvRecentMenuBtn | JvRecentMenuButton |
JvRemLog | JvRemoteLogin |
JvSHFileOp | JvSHFileOperation |
JvSplshWnd | JvSplashWindow |
JvSQLS | JvSQLScript |
JvStartMenuBtn | JvStartMenuButton |
JvStrHlder | JvStringHolder |
JvRichEd | JvRichEdit |
JvControlPanel | JvControlPanelButton |
JvClipMon | JvClipboardMonitor |
JvClipView | JvClipboardViewer |
JvDataConv | JvConverter |
JvPageMngr | JvPageManager |
JvBmpAnim | JvBmpAnimator |
JvClipIcon | JvIconClipboardUtils |
JvArrowBtn | JvArrowButton |
JvMemDS | JvMemoryDataset |
JvMagnet | JvFormMagnet |
JvDlg | JvProgressForm |
JvCurrEdit | JvBaseEdits |
JvDBComb | JvDBCombobox |
JvDBCtrl | JvDBControls |
JvHLEdPropDlg | JvHLEditorPropertyForm |
JvIcoList | JvIconList |
JvPropAutoSave | JvAutoSave |
JvTransBtn | JvTransparentButton |
JvxLogin | JvLoginForm |
JvxLoginDlg | JvDBLoginDialog |
JvProps | JvPropsStorage |
JvxAnimate | JvAnimatedImage |
JvMRUList | JvMRUManager |
JvMRU | JvMRUList |
JvObjPickerComp | JvObjectPickerDialog |
TJvControlPanel | TJvControlPanelButton |
TJvStartMenuBtn | TJvStartMenuButton |
TJvRecentMenuBtn | TJvRecentMenuButton |
JvAppletProperty | JvAppletEditor |
JvBehaviorLabelProperty | JvBehaviorLabelEditor |
JvChNtfyProperty | JvChangeNotifyEditor |
JvTimLstEd | JvTimerListForm |
JvTipOfDayProp | JvTipOfDayEditor |
JvStrLEdit | JvStringsForm |
JvSelDSFrm | JvSelectDataSetForm |
JvPresrDsn | JvFormPropertiesForm |
JvPluginParams | JvPluginParamsForm |
JvPictEdit | JvPictureEditForm |
JvPgMngrEd | JvPageManagerForm |
JvOutEdit | JvLookoutEditor |
JvOLBEditor | JvOutlookBarForm |
JvMinMaxEd | JvMinMaxForm |
JvJVCLAboutProperty | JvJVCLAboutEditor |
JvImagPrvw | JvImagePreviewForm |
JvID3v2Define | JvID3v2DefineForm |
JvIcoLEdit | JvIconListForm |
JvHTHintEditor | JvHTHintForm |
JvGradEdit | JvGradientCaptionForm |
JvDirFrm | JvDirectoryListForm |
JvSbEdit | JvSpeedbarForm |
JvTimeLineEdit | JvTimeLineEditor |
JvCheckItm | JvCheckedItemsForm |
JvaDsgn | JvDesignerUtils |
JvDateTimeDlg | JvDateTimeForm |
JvCsvDataDsgn | JvCsvDataEditor |
JvCsvDataDefStrDsgn | JvCsvDataForm |
JvErrProvider | JvErrorIndicator |
JvRadioControl | JvDialButton |
TJvControlPanelButton, TJvStartMenuButton, TJvFavoritesButton, TJvRecentMenuButton
TJvComputerInfo has been changed from TComponent to TObject. This change was done to promote safety since there was a risk that the streaming of published properties could modify important registry values on the end-users computer. To continue using TJvComputerInfo, open the form where it is located and click the "Ignore All" button when Delphi/BCB reports that TJvComputerInfo cannot be found. Add a private variable of type TJvComputerInfo (with the same name as the former TJvComputerInfo component) to the form and create the class dynamically. You should now be able to use the class without any adverse side-effects. For more details, see the comments at the top of JvComputerInfo.pas.
To keep JVCL consistent, we have adopted a new naming standard. The naming standard in JVCL affects both classes, types and unit names. The following section explains the new naming convention enforced in JVCL:
General
- All files have a "Jv" prefix (capital "J", lower case "v") and we use "Camel Casing" for the file name (JvLikeThisForExample.pas).
- All files have an extension in all lower case letters.
- All units are named using the full name of the contained component/control without the leading "T". If the unit contains several classes/components, it is either named after the component that will be installed, the most "significant" component or uses a name that describes the components in the unit as well as possible. For example, a unit with several database components could be named "JvDBControls.pas" whereas a unit containing a TJvEditor control would be named "JvEditor.pas".
- All image file names are in ALL UPPER CASE (TJVALARM.BMP)
- All include file names are in ALL LOWER CASE (jvcl.inc)
Using the word "Form" in filenames
All forms (units with DFM's) are suffixed with the word "Form" regardless of whether they contain a dialog or a form (i.e JvDualListForm.pas). The word "Form" can also be used as a prefix if the component in the unit is acting upon a form without being one itself (i.e JvFormMagnet.pas)
Using the word "Dialog" in filenames
The word "Dialog" in a unit name signifies that the unit contains a component that has no UI at designtime but shows a form or dialog at run time (i.e JvObjectPickerDialog.pas). At the moment, "Dlg" and "Dlgs" are accepted but their use is discouraged.
Using the words "Const" and "Consts" in filenames
The words "Const" and "Consts" are only used in units that contains just type, resourcestring and const declarations and no code (i.e JvConsts.pas).
Using the words "Util" and "Utils" in filenames
The word "Util" and "Utils" are only used in units that contains support routines and classes of more general use (i.e JvJVCLUtils.pas). Classes in util type units should never be installable.
Design time editors
Units containing designtime editors should have the same base name as the component they are primarily used to edit and an "Editor" or "Editors" suffix, i.e a property editor unit for the TJvBehaviorLabel should be called either "JvBehaviorLabelEditor" or "JvBehaviorLabelEditors".
The base name for the unit is controlled by the name of the component the editor(s) were meant for: if all editors are for the same component, we use the same rule as for a single editor (the plural form), if the unit contains generic editors, we name the unit either according to the editors "family" ("JvDBEditors" contains design editors for DB related components) or according to it's general data type (i.e "JvDateEditors" contains editors used to edit date related properties).
It doesn't matter (name wise) if a unit contains property, component or any other types of editor. They are all named the same way. If a design editor is implemented in the same unit as a form, the unit is named with a "Form" suffix (see rule above for using the word "Form" in filenames). The reasoning behind this is simple: if a split of the unit is to be done in the future (which is likely), it is the design editor that will be moved to a new unit, not the form. The new unit for the editor will then get an appropriate name with a "Editor" suffix but the name of the form will not change.
Adding design editors to form units is discouraged. We try to keep editors in their own unit, preferably one editor per unit. Editor units should not contain their own Register procedure. The Register procedure should only be present in specific "Reg" files for a package (see below). This minimizes confusion and clutter and maximizes reuse, loose coupling and simplifies maintenance and future restructuring.
Registration units
Each design package have it's own registration unit with a Register procedure. The unit is named with the same base name as the package but with a "Reg" suffix (i.e the reg file for the "JvCore" design package is named "JvCoreReg.pas"). The reg file only contains registrations for the components and design editors. Design editors and other support code is not added to the reg file unless absolutely necessary.
A matching dcr file is also included in the \resources folder. The dcr file always have the same base name as the reg file but with a dcr file extension (i.e the palette icons for components registered in JvCoreReg.pas is in \resources\JvCoreReg.dcr).
Palette images color coding
All component icons have a common background and an upper case yellow "J" in a rectangle in the bottom right corner of the image. The background color of the rectangle identifies the type of component the icon represent. Currently, we use the following color codes:
Blue - Visual components
Green - Non-visual components
Purple - Database components (visual and non-visual)
Maroon - data provider components (implements one or more of the IJvDataProvider interfaces)
Navy - data consumers (data provider aware components)
If you want to help out making JVCL better or bigger or just plain cooler, there are several ways in which you can help out. Here are some of the things we need your help on:
JVCL accepts donations from developers as long as the components fulfill the requirements set up by the JEDI and JVCL teams. To read more about these requirements, visit the page http://jvcl.sourceforge.net/donate.htm
You can also donate your time by writing help for the components already in JVCL. We currently use Doc-o-Matic to create the finished help files but the actual help sources are plain text files in a simple to understand format. We can provide you with auto-generated templates with all classes, properties, types etc already inserted. The "only" thing left to do is fill in the actual help text for the help items. If you are interested in writing help, contact us.
One of the best ways of getting to know a new component is to see the source code of a demo using it and although we have a lot of demos in JVCL, we still need more and some of the existing demos needs to be "beefed up". Many developers create test apps to try out a new component before putting it to use in their real projects so if you have such a demo or is interested in making more full blown demos for JVCL, contact us.
If you want to help fix bugs in JVCL, go to Mantis and check the bug reports there. You can post replies as well as fixes directly in the bug report. One of the JVCL developers will pick up the report/fix and update the CVS repository if the fix is satisfactory. If you report and fix a lot of bugs, you might even get developer access to CVS so you can update the JVCL files directly.
You can get in touch with the JVCL team and/or other JVCL users in one of the following manners:
Newsgroups. You can access the JVCL newsgroups at news://forums.talkto.net/jedi.vcl (preferred). Thanks to Marco Cantú (author of the "Mastering Delphi" books), you can also access the newsgroups from the Web at http://delphi.newswhat.com/geoxml/forumlistgroups?area=JEDI.