plik


Release Notes for JEDI VCL Release Notes for JEDI VCL Other release notes included in this distribution   Install. Contains information on how to install JVCL. License. Contains information on the JVCL usage and distribution license. Migrating. Contains information on how to migrate your applications from previous versions of JVCL and/or previous versions of components that has been added in this release of JVCL. BCB Compatibility Guide. Describes how to install JVCL in C++Builder. JvExVCL description. Describes how to use the JvExVCL (layer for VCL and VisuaLCLX) in your own code. Build status. Contains information on the current build status of the JVCL for supported Delphi and BCB versions. Localization. Contains information on how to enable localization support in JVCL.   Changes in this version   New folder structure 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\obj - dcu and obj output for BCB5 packages   \lib\c6\obj - dcu and obj output for BCB6 packages   \lib\d5 - dcu output for D5 packages   \lib\d6 - dcu output for D6 packages   \lib\d7 - dcu output for D7 packages   \lib\k3 - dcu output for Kylix3 packages   \locale - contains the DxGettext template and some ready to use translations   \packages     \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     \d7per - modified packages for Delphi 7 Personal Edition     \k3 - packages for Kylix 3     \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.   Theming 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: Download ThemeManager from http://www.delphi-gems.com/ThemeManager.php. Open ThemeManager?.dpk (where "?" is the Delphi version) and change the compile options to "Explicit rebuild". (Re)build and install the ThemeManager package. For manual installation: Open jvcl.inc with a text editor and remove the dot in {.$DEFINE JVCLThemesEnabled}. (Re)build the jvcl packages. 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 : In the ThemeManager directory, copy ThemeManagerD5.dpk to ThemeManagerC5.dpk and ThemeManagerD5D.dpk to ThemeManagerC5D.dpk Do the same with the .res files With a text editor, open ThemeManagerC5.dpk and do the following replacements: package ThemeManagerD5; by package ThemeManagerC5; {$IMPLICITBUILD ON} by {$IMPLICITBUILD OFF} With a text editor, open ThemeManagerC5D.dpk and do the following replacements: package ThemeManagerD5D; by package ThemeManagerC5D; requires ThemeManagerD5 by requires ThemeManagerC5 {$IMPLICITBUILD ON} by {$IMPLICITBUILD OFF} Open a command prompt and go in the folder where the newly created packages (dpk files) are located Run these commands, replacing $(ROOT) by the root folder of your BCB5 installation (c:\program files\CBuilder5 by default): $(ROOT)\bin\dcc32 ThemeManagerC5.dpk $(ROOT)\bin\dcc32 ThemeManagerC5D.dpk Copy the two newly created files to $(ROOT)\projects\bpl Copy the eight newly created OBJ files from $(ROOT)\projects\intermed to $(ROOT)\projects\lib Now in the ThemeManager source directory, edit TmSchema.hpp and do the following replacement: #include "tmschema.h" by #include "..\cbuilder\tmschema.h" Also edit UxTheme.hpp and do the following replacement: #include "uxtheme.h" by #include "..\cbuilder\uxtheme.h" 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. Localization All strings that get displayed to the user are stored in resource strings. If you want the JVCL to display those strings in other languages, you should use DxGettext as this is the only localization method supported by the JVCL group. You must turn on the use of DxGettext in jvcl.inc and recompile the JVCL packages for the support to be complete. Please refer to the localization documentation for more details on this topic. CLX support CLX support is being worked on but is not yet fully available. To learn more about CLX support in JVCL and keep updated on the current status, you are recommended to subscribe to our newsgroups. See contact information at the end of this document for information on how to access the newsgroups.   Available distributions The JVCL is available in three different distributions. These are: Minimum - only contains the files needed to install the components Medium - same as Minimum but also includes the demo folders Full - contains everything in the CVS repository as well as the latest release of JCL   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.   New package layout 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 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 1. Not available in C++ Builder 6 2. Not available in C++ Builder 5 3. Limited functionality in Delphi 5 4. If USEJVCL is defined (it is by default). If you change the definition of USEJVCL, you MUST regenerate the packages using the PackageGenerator available in $(JVCL)\devtools. The installer will do that for you. 5. Not available in Standard and Personal versions. New components added   The following new components and libraries has been added since JVCL 2.10: The Globus Library Jans Delphi Components The UIB Interbase/Firebird Database Components Print Preview components Validator components K Wizard component and RouteMaps UIL Time Framework 2.0 Managed Threads Components TJvErrorIndicator TJvXMLDatabase TJvMouseGesture TJvAVICapture TJvBlinkingLED TJvAppInstances (controls how often an application can be startet TJvImageList (can handle resources and external images) TJvColorProvider TJvSegmentedLED TJvComboListBox TJvSpellChecker DockPresident components Delphi eXperience Controls II Delphi eXperience DotNet Controls II UltimVCL TJvLookupAutoComplete (extends edit fields with autocomplete functionality) TJvDebugHandler (creates log files on exceptions with call stack)   Components deprecated, renamed, removed or changed 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). Removed Components TJvBreatheSkin, TJvCommandEdit, TJvCoupler, TJvCPUUsage, TJvHighLighter, TJvMemoryInfos, TJvMousePositionner, TJvNagScreen, TJvPerforated, TJvPopupMemo, TJvAutoSave, TJvRegAuto, TJvCurrencyEdit, TJvxCurrencyEdit, TJvFloatEdit, TJvFloatEdit2, TJvButton Renamed Components 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 Deprecated Components TJvControlPanelButton, TJvStartMenuButton, TJvFavoritesButton, TJvRecentMenuButton Changed Components 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.   Naming convention changed   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)   Getting involved in JVCL development   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:   Donate components and other source code Donate time writing help Donate time writing demos Donate time fixing bugs   Donate components and other source code   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   Donate time writing help   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.   Donate time writing demos   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.   Donate time fixing bugs   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.   Getting in touch with JVCL developers and other users   You can get in touch with the JVCL team and/or other JVCL users in one of the following manners: Homepage. Our homepage is located at http://jvcl.sourceforge.net 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. Mail lists. There are still some mail lists on Yahoo to discuss JVCL but these are gradually being closed down, so please do not use these. If you can't access the newsgroups, you can post messages to the mail lists on sourceforge. Go to http://sf.net/projects/jvcl and click the "Lists" link to get to the soureforge mail lists (deprecated). Bug reporting. To report bugs, suggest improvement or new features or donate a component, go to Mantis (our on-line bug tracker) and post/reply to the reports there. You'll find Mantis at http://projectjedi.sourceforge.net/mantis. Please make sure your problem hasn't already been reported and fixed before posting a new bug report!      

Wyszukiwarka

Podobne podstrony:
README
Readme
readme
readme
readme
7 ReadMe
dist mem gen v6 2 readme
ReadMe
readme
Mscode99 README
README

więcej podobnych podstron