BDNtv: Building Quality Applications with Delphi and C++Builder 2006 (webinar replay)

By: John Kaster

Abstract: Watch the replay of the webinar presented by Borland Developer Relations

Format: Flash
Time: 2:25:08

    BDNtv: Building Quality Applications with Delphi and C++Builder 2006

Presented by: David Intersimone, Nick Hodges and John Kaster

      Chat log for Building Quality Applications

NickH:Erasmus: "What does EMEA stand for?" - EMEA = Europe, Middle East, Africa

NickH:Nigel: "Can you tell me son Thomas to go to bed so I can follow your broadcast. cheers." - Thomas! Listen to your father and go to bed!

jkaster:djones: "Is FastMM used by default in C++ projects too?" - this is the default memory manager for Delphi
jkaster inserts the following link:
jkaster: Latest version of FastMM is there

jkaster:Luca: "Do you think to put the replay of all ten days webinar on bdntv?" - yes, the first one is already there. replay links are posted as they become available

jkaster inserts the following link:
jkaster: BDNtv: Database development with Delphi and C++Builder 2006

jkaster:LizR: "But you can turn the memory reports on using the default fastmm in delphi by using ReportMemoryLeaksOnShutdown:=true;" - Thanks. This is what the leak tracker demo shows, too.

jkaster inserts the following link:
jkaster: BASM for Beginners tutorials by Dennis Kjaer Christensen

jkaster inserts the following link:
jkaster: FastCode project site
jkaster:jfriedber: "What's the URL for the presentation?" - mms://
jkaster inserts the following link: mms://

jkaster inserts the following link:
jkaster: The announcement article shows all the details, and replays are now posted

jkaster:rinn: "Could you show the "I'm Listening" link?" - Yes, thanks. I was just getting to that!
jkaster inserts the following link:

jkaster: Still need to get download for the first one, requires massive tweaking of WMV to get it to a reasonable size

jkaster: FYI, we're deliberately putting mistakes into the project ;)
jkaster inserts the following link:

jkaster: Borland Developer Studio Free Software Bundle
jkaster:Pidgeot: "I believe that because the method name starts with test, DUnit will run it" - thanks for the suggestion

jkaster:efortier: "when doing unit tests should each single test be placed in a separate procedure? ie: when testing division should I create one procedure for testing one working parameters set, another for testing division by zero, etc." - nick: That's up to your tastes. You could have multiple tests per method, but make sure the messages for the test are clear. The purists would say one method per test.

jkaster inserts the following link:
jkaster: The DUnit home page

jkaster inserts the following link:,2006,33131,00.html
jkaster: Test-driven Development with Delphi, by Charlie Calvert, from our 2005 conference

jkaster: DUnit finds tests by looking for published methods with no parameters
jkaster inserts the following link:

jkaster:efortier: "what does "regression testing" means?" - answered
jkaster inserts the following link:

jkaster:mini: "Do you know if there will be a DUnit version 2 that catches up with the new features in JUnit 2?" - nick: I don't know that right now

jkaster:LizR: "can you demo a more realistic use of testing on say one of the demo apps supplied with delphi?" - nick: I could, but I'll have to do this later

jkaster:djones: "With BDS2006 (I use C++), it looks like we can turn on optimizations even when building a debug version of an application (this was not possible in BCB5/6). First, do optimizations actually apply when debug mode is enabled, and second, are there any consequences that one should be aware of for debugging, or more importantly, for application deployment when enabling optimizations in a debug build?" - david: the optimizations we provide are "safe" -- we've done a lot of testing of the code. When you do a debug build, the optimizations are turned off. In general, you want to test both ways, with optimizations on and off.

jkaster:steve_kia: " BDS2006 datasheet indicates, among other environments, XpPro REQUIRED. Are there issues with XpHome .. will it work with XpHome? Thanks." - nick: it should work, but XP Pro is "required" is because of ASP.NET's usage of IIS. We do include Cassini as an option for ASP.NET.

jkaster:efortier: "do you guys do unit testing for all BDS?" - not all of it
jkaster inserts the following link:
jkaster: Steve discussing Zombie

jkaster:cprog: "Nick: any comments on the lauch from microsoft of the .net framework 3? the next version of delphi will be 100% full compatible with .net framework 3?" - nick: .NET 3.0 is brilliant marketing, because it's .NET 2.0 with WPF, WCF, etc. "Fully compatible" depends on what you mean.

jkaster:djones: "Thank you...knowing that optimizations do in fact work in debug mode (they aren't ignored in debug mode) and that they are "safe" is exactly what I wanted to know." - You're welcome

jkaster:Glenn: " Is it possible to do unit testing for eventhandlers eg. TButtons" - Nick: Not really. The unit tests are designed to run independently of any user interface.

jkaster:RWinston: "It is possible to test event handlers. See" - Thanks for the link
jkaster inserts the following link:

jkaster:bmcgee: "Any chance some version of Zombie will be released to customers?" - nick: I can't comment on that right now

jkaster:ogiesen: "how would you recommend doing automated testing when the code being tested is not stand-alone, e.g. an Office addin... surely I can not create a mock Office/Exchange environment? I would think that would take more time than writing the actual app..." - nick: Something like that is a little difficult.

jkaster:mini: "I would like to see automated test case creation in Delphi, e.g. auto generating white box tests to achieve full branch coverage for our code. Any thoughts on that?" - nick: cool idea. David: more to explore. There's also a lot of third party partners like Automated QA, and Segue that offer testing solutions

jkaster inserts the following link:
jkaster: Borland Silk & Gauntlet

jkaster inserts the following link:
jkaster: Cruise Control is something the BDS team is using

jkaster:efortier: "can the DUnit framework included in BDS2006 be upgraded if the official DUnit is updated?" - nick: yes, it should be possible.

jkaster:LizR: "will a lite version of gauntlet be in bds 2007?" - david: Guantlet is a technology that is available right now. It's not integrated into BDS currently.

jkaster:jfriedber: "What is BDS?" - Borland Developer Studio (Delphi 2006, C++Builder 2006, C#Builder 2006)

jkaster:ddi2: "I get annoyed when debugging when I can't access certain variables; I guess the compiler had them in registers only and threw them away when they were no longer needed. Is there an option to turn that off?" - you can see that by turning off optimizations

jkaster:ogiesen: "the [office addin] question was not specifically about unit testing. more automated testing in general..." - noted, thanks!

jkaster:cprog: "What's the difference between NUNIT and DUNIT?" - nick: NUnit is specific to .NET and DUnit works for Delphi.NET and Delphi for Win32

jkaster inserts the following link:
jkaster: Continuum project

jkaster inserts the following link:
jkaster: BDNtv: Overview of Together in Delphi 2006

jkaster: OpenSource testing org
jkaster inserts the following link:

jkaster:cprog: "Is there a reason to free the memory two times?" - to demonstrate the bug and how codeguard handles it

jkaster:mini: "is that (codeguard) c++ specific?" - david: yes

jkaster:LizR: "any chance of a codeguard for delphi?" - send an email. FastMM already does some of what CodeGuard does. AQTime is also a good option

jkaster inserts the following link:
jkaster: AQTime

jkaster:LizR: "Do you have any advice on profiling speed of functions? with preprovided tools? to find out where delays" - Still recommend AQTime

jkaster inserts the following link:
jkaster thinks you should click "I'm listening"

jkaster:djones: "What ever happened to Turbo Profiler?" - david: it went by the wayside. It's still out there for TASM

jkaster:cprog: "jkaster: Any plans for a ECO broadcasting for advanced users? It's seems that there are lots of people interested including me :=) I would liked to see some ECO/code interaction..." - yes, we will definitely be doing this, probably starting in December

jkaster:mbentley: "I find that the code generated by delphi fails the audits. Are you going to fix this? (i.e Delphi generates "Sender" as a parameter, but the audit defaults to wanting "sender"). This makes a bit of a mess to get through." - it's really a warning. turn off what you don't want to see

jkaster:LizR: "any free ones worth looking at?" - if someone else knows, send an email to

jkaster:efortier: "can we expect more refactorings in future versions of BDS?" - david: yes, the team is continuing work on refactoring, not only for Delphi but for C++ as well

jkaster:cheeyang: "great presentation. thanks" - you're very welcome. Thank you for watching!

jkaster: Thanks, everyone. bye!

For more information on Delphi 2006 (Borland Developer Studio 2006), see the Delphi Home Page, and the Delphi community on BDN.

To purchase Delphi, see our shop site.

Server Response from: ETNASC04