Steve Trefethen
Contact me Send mail to the author(s)
About Me View my LinkedIn profile

Powered by discountASP.NET
referal ID: sdtref
Why recommend discountASP.NET?

Archives
Statistics
Total Posts: 524
This Year: 26
This Month: 0
This Week: 1
Comments: 1835
Disclaimer
The posts on this weblog are provided �AS IS� with no warranties, and confer no rights. The opinions expressed herein are my own personal opinions and do not represent my employer�s view in any way.
# Monday, September 08, 2008

Delphi 2009 Arrives!

Tagged: Delphi | Development

Tags:  | 

Congratulations CodeGear!

Want to offer my congratulations to the Team at CodeGear/Embarcadero for shipping Delphi 2009 & C++Builder 2009. For sure, it looks like some of the most interesting updates are in the Win32 compiler as I follow Barry Kelly’s blog where he’s been talking about Anonymous Methods and Generics. Of course, Nick Hodges has a rundown of all sorts of additional features. I know lately the gang there has been putting in lots of hours as it’s been hard to catch up with people like Mark Edington. Who, btw, mentioned to me that he has an excellent blog post he said he would write about using AutomatedQA’s AQTime of which he’s a big fan. (Maybe this will put a little pressure on him to get that post written!)

Again, congratulations guys!

[Update: Sept 9th, 2008] Fix the spelling of Barry's name doh!

Comments [0] # permalink Posted @ 2:23PM
# Monday, April 02, 2007

VCL and RTL enhancements since Delphi 7 (D7)

Tagged: Delphi | RTL | VCL

Tags:  |  | 
Nick Hodges put together a list of changes to the VCL since D7 and I thought I'd pitch in and help expand since it only includes a few of the high level items. I'll try and avoid duplicating items Nick's list (no guarantees). This is by no means an exhausive list and does not include bug fixes nor does it mention cases where we've made numerous methods virtual/protected to better enable descendant classes.
  • New TDragObject properties AlwaysShowDragImages and RightClickCancels
  • New TDragDockObject properties EraseDockRect and EraseWhenMoving
  • New classes TCustomControlAction, TControlAction, TCustomTransparentControl, TColorListBox, TTrayIcon
  • Many new methods on TControlActionLink for binding to additional properties on TControls
  • New Control States: csDesignerHide, csPanning, csRecreating, csAligning
  • New Control Styles: csPannable (mousewheel support), csAlignWithMargins
  • New events published throughout VCL: OnMouseActivate, OnMouseEnter and OnMouseLeave now with reliable enter/leave detection
  • New events on TWinControl OnAlignInsertBefore and OnAlignPosition for use with alCustom alignment style
  • New TWinControl property MouseInClient
  • New TDragImageList property DragHotSpot
  • New TDockZone property ChildControl
  • TDockTree has many new methods for better mouse support
  • Improved double buffered painting performance
  • Updated appearance with gradient painting support for TControlBar
  • New events on TControlBar BeginBandMove/EndBandMove
  • New properties on TControlBar CornerEdge, DrawingStyle, GradientDirection, GradientStartColor and GradientEndColor
  • New property on TColorBox: OnGetColors
  • New properties on TCustomForm: PopupMode, PopupParent
  • New properties on TScreen: CursorCount, FocusedForm, SaveFocusedList, PrimaryMonitor
  • New properties on TApplication: ActionUpdateDelay, ActiveFormHandle, MainFormHandle, MainFormOnTaskbar, ModalLevel, ModalPopupMode, PopupControlWnd
  • New events on TApplication: OnGetActiveFormHandle, OnGetMainFormHandle
  • Improved drawing support meaning less flicker for many controls throughout VCL
  • Constants for standard web colors added to Graphics.pas
  • RGB conversion routines for working with web colors/color names
  • New Pen Styles: psUserStyle, psAlternate
  • New property on TFont: Orientation
  • Enumerator support on numerous classes throughout VCL for use with "for...in"
  • New property on TOleControl: ServiceQuery
  • New action: TBrowseForFolder
  • New property on TLabel: EllispsisPosition
  • New property on TComboBox: AutoCompleteDelay
  • New property on TListBox: AutoCompleteDelay
  • New properties/events on TTabSet: Images, ShrinkToFit, TabPosition, OnGetImageIndex
  • Numerous ActionBand menu enhancements
To elaborate on Nick's FastCode mention there is the following on the RTL side:
  • New high performance memory manager
  • FastCode routines:
    • Move
    • _FillChar
    • _LStrCmp
    • Pos
    • __lldiv
    • UpperCase
    • LowerCase
    • CompareStr
    • CompareMem
    • CompareText
    • StrLen
    • StrCopy
    • StrComp

  • Numerous inlined routines throughout the RTL
[Update: Mar 2, 2007] Fixed typo.
Comments [2] # permalink Posted @ 11:47AM
# Monday, March 19, 2007

Aligning, sizing and spacing commands in the Delphi 2007 VCL designer

Tagged: Delphi | IDE

Tags:  | 
Guest blogger: I'd like to introduce Jim Tierney, Principle Engineer working on the BDS development team at CodeGear as a guest blogger. Jim made numerous enhancments/improvements to the VCL form designer for Delphi 2007. I also work closely with Jim on the ASP.NET designer.

Prior to Delphi 2007, the “Align” and “Spacing” toolbars were not entirely supported by the VCL designer. Now, operations like “Align left edges” or “Increment horizontal spacing” can be performed by clicking a toolbar button. Delphi 2007 also makes it easier to identify and change the anchor component for these commands.

Align toolbar
The Align toolbar is an alternative to using the Edit|Align… and Edit|Size… commands. To show the Align toolbar, check “Align” on the toolbar popup menu.

The Align toolbar contains alignment commands as well as sizing commands like “Make same width”.  Note that most of these commands are grayed unless multiple components are selected.

The Align commands are: Align left, align right, align vert centers, align tops, align bottoms, align horz centers, align to grid, Snap to grid, make same height, make same width, make same size, size to grid

The Edit|Align… and...

Edit|Size... commands continue to work as in Delphi 2006.

Spacing commands
Spacing commands are new to the Delphi 2007 VCL designer (with the exception of "space equally").  These commands change the spacing between components.  “Increment horizontal spacing” is an example of a spacing command.

To show the spacing toolbar, check “Spacing” on the toolbar popup menu.  Spacing commands are grayed unless multiple components are selected.


The Spacing commands are: space equally horz, increment horz spacing, decrement horz spacing, remove horz spacing, space equal vert, increment vert spacing, decrement vert spacing, remove vert spacing

Anchor element
When multiple components are selected, one component is the anchor.  When aligning, sizing, or spacing, the anchor component stays in place and the other component(s) are moved or sized in relation to the anchor.

There are two changes to anchor support in Delphi 2007.

  1. Clicking on a selected component makes that component the anchor.
  2. The handles of the anchor component are painted black. Other handles are gray.

In summary, these minor enhancements to the VCL form designer provide new and improved ways to position and size components.

Comments [4] # permalink Posted @ 5:11PM

Delphi 2007 VCL Designer Theme Support

Tagged: Delphi | VCL

Tags:  | 
In the Delphi 2007 IDE, we enabled Windows theming which serves to upgrade the appearance of the entire IDE leaving behind the more classic Windows style. In fact, all new VCL applications in Delphi 2007 have themes enabled by using the new "Enabled runtime themes" checkbox on the Applications page of the Project Options dialog. This means you no longer have to add either the XPMan unit to your uses clause nor drop a TXPManifest component to theme a VCL applications.

Unfortunately, theming your application isn't always a trivial task because not all 3rd party or custom controls behave properly when themed not to mention it can potentially really slow your application down if it wasn't written with themes in mind. We recognize this and have built the Delphi 2007 VCL designer so that it will properly displays your controls depending whether "Enable runtime themes" is checked for your project.

For example, here is a screenshot with a "Enabled runtime themes" checked:

And the same application with themes disabled:

In addition, we've made numerous improvements to VCL to help reduce flicker and improve performance particularly when DoubleBuffered is enabled. Since this release is interface compatible with BDS 2006 there are additional changes which have to wait for the next major release.

[UPDATE: March 19, 2007] The IDE caption says "Highlander" because this is my developer build which includes all personalities and HL related bits.

[UPDATE: May 9, 2009] Fix typo.

Comments [10] # permalink Posted @ 7:38AM
# Friday, March 16, 2007

Delphi 2007 goes Gold!

Tagged: CodeGear | Delphi

Tags:  | 
We've officially signed off Delphi 2007 and it will be available for download shortly (in fact, it's available for download now in Germany). This is a major milestone for CodeGear and as has been mentioned we've put tons of effort into making this a great release. There are lots of features and improvements to blog about so I'll continue posting about cool features. If there is anything inparticular you would like to hear about please leave me a comment and I'll do my best to post some coverage.

A big thanks to our Field Test community and the BetaBloggers for helping us kick off CodeGear's first major Delphi release. Thanks to all of you who answered Nick's call for beta testers.

Comments [15] # permalink Posted @ 12:34PM