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:
READMEReadmereadmereadmereadme7 ReadMedist mem gen v6 2 readmeReadMereadmeMscode99 READMEREADMEwięcej podobnych podstron