Joe White's Blog Life, .NET, and cats

Allen Bauer's "What's New in Diamondback" session #Delphi #borcon2004

Covering Allen Bauer's BorCon session on what's new in the Diamondback IDE.

Looks like Nick wasn't doing a live blog of this one, so I'll post my comments.

Consider this to be a follow-up to my notes from John Kaster's preconference tutorial on Diamondback. I won't cover any of the overlap here.

Allen started by saying he would mostly cover IDE features. Fair enough. Danny (who knows me by name, BTW) will cover the compiler stuff this afternoon, and the "Meet the Team" tonight will cover even more.

He's talking about features in a product that's not finished yet, BTW. Ship dates haven't been decided yet, features haven't been decided yet. This is a very new thing for Borland. (He mentioned that he's allowed to talk about anything except release dates, product names, and bundling/pricing. Very cool.)

  • Debugging features
    • Debug .NET code hosted within a Win32 process
      • May not be able to seamlessly "Step Into" from Win32 code into .NET code
    • AppDomain support in Module view
    • Better stack traces in Win32 for frames without debug info. Think EnumFonts; you didn't used to be able to see a stack trace when Windows calls your callback function, but now you will.
    • Locals view and stack frames: Yes, it will work even after exceptions! Woot!
    • Look at different threads' call stacks and Locals views
    • Same operations in both Win32 and .NET debuggers
  • Refactoring
    • No distributed refactoring in Diamondback, but they have underlying architecture to support it
    • Refactoring works across projects within a project group, even between C# and .NET
    • Based on actual uses list, not just what's in the .dpr
    • Only works within current IFDEFs
    • Sync edit: Can Tab through distinct symbols
    • "Live Templates" (Ctrl+J templates with this Tabbing to fill gaps) won't be in Diamondback but are on the plate
  • IDE is theme-enabled! Transparent panels & checkboxes, even at design time
  • Component palette is drag-and-drop even in VCL
    • Marketing has always claimed that Delphi supports "drag-and-drop" GUI development, but Allen commented that it was really "click-and-click"
    • Now you can actually drag a component off the palette and onto the form
    • Yes, click-and-click development still works. So do double-click and Shift+click.
  • Component Palette in Diamondback probably won't support one component in multiple categories, yet.
  • Object Inspector shows properties for files and projects. Can rename a file using Object Inspector, even if it's not saved yet!
    • Carries rename through to the disk file
    • Doesn't do anything to the old .dcu file (alas)
  • Rename Class refactoring even reaches into the .dfm
    • Also, if you rename a form class, it will rename the global Form1 variable in that unit
  • History view: If you had 30 revs of a file, and you change the setting to only save 10 revs, it will not delete the old revs, and will continue to keep 30 revs for that file.
  • Borland devs use AutomatedQA apps (I should've asked which apps)
  • IDE uses VirtualTreeView