Wednesday, March 31, 2004

StarTeam 6.0 released

"Software configuration and change management solution offers enhanced security, collaboration and faster time to market".

Press Release

CaliberRM 6.0 released

"Requirements Management Solution to Help Narrow the Communication Gap Between IT and Business, Enabling Greater Team Collaboration for Lower Development Costs and Faster Time-to-Market"

Press Release

Tuesday, March 30, 2004

Bill Gates at the Borland booth at VSLive!: This one's for you, Nick!

Here's one of the professional shots from VSLive! San Francisco. Bill Gates is paying attention to Alison Deane's every word.

Tips for converting VCL components to VCL for .NET

Yorai Aminov (TeamB) wrote this article on migrating VCL components to VCL for .NET.

I fished this off of Nick's blog - do you call that blog fishing? :)

"Delphi 8 for .NET is a great product, letting Delphi developers move into the .NET world while using their existing skills and re-using their existing code. Still, .NET and Win32 are two different platforms..."

Yorai's article

Monday, March 29, 2004

The benefites and truth about Quality Central

Nick Hodges says that "Quality Central is a great, powerful, customer-friendly system designed specifically to make reporting bugs and giving feedback to Borland easy and effective".

More in Nick Hodges' blog

Sunday, March 28, 2004

What time is it?

You really have to pay attention when setting the time on this puppy. Not to mention when you set the alarm (if it has one)...

Saturday, March 27, 2004

Thursday, March 25, 2004

Borland Developer News .NET Edition April 2004

Read the April 2004 installment of the Borland .NET Development Newsletter. The newsletter contains information, news, and links.

Read all about it!

Brand new .NET User Group

WooHoo! Free falafels!

Falafel has just started a .NET User Group in the Bay Area.

Sign up now!

PS: I don't know about the free falafels, but I'm certainly going to ask about them.

Quit the rumor mongering

Danny addresses a personal rumor on the newsgroups.

He writes "The rumors of my death are greatly exaggerated" and "I have no plans to leave Borland for the forseeable future".

Danny stated the same in his blog earlier this year.

Danny continues in his post to elaborate on how these rumors are bad for our business relationships.

I agree with Danny, if you hear such rumors, *please* ask us to validate or discard them before passing them on. Rumor mongering makes no one happy.

Danny also notes that he will be in Redmond next week on normal Borland business. This is completely normal. People from different companies have to get together to discuss business sometimes. If there was a rumor for every customer I talked to, I'd be drowning in rumors.

Even I have been up at Microsoft myself a couple of times. And I'm still at Borland as well.

Thanks for paying attention. Next time a rumor pops up, please help put it out. Stop the FUD. Stop the rumors.

More on the C#Builder award "Best Development Tool"

Here are all the winners

Alison Deane accepts the award (this page switches photos every ten seconds)

Go C#Builder!

Today I'm 8 years old

In Borland years that is. Or 252,288,000 seconds. That sounds a lot more impressive!

Time flies when you're having fun! Where's my birthday cake?


Wednesday, March 24, 2004

Bill Gates stops by the Borland booth

Bill Gates just stopped by the Borland booth at VSLive! in San Francisco.

Alison Deane, David Intersimone, Michael Bartzel (talking), Vivek Uniyal, and Bill Gates.

I, of course, was behind the camera. You can buy my camera with the pictures still in it... ;-)

Look forward to more coverage live from the show right here...

Tuesday, March 23, 2004

C#Builder wins "Best Development Tool"

At the Visual Studio Magazine Readers Choice Awards last night, C#Builder won the category of "Best Development Tool".

Congratulations to the Borland .NET team!

The award will be displayed proudly in our booth at VSLive in San Francisco for the remainder of this week.

More info on C#Builder

Mobile Studio Trial now available

The Mobile Studio Trial is available for download on Borland's web site.

Now you can take the Mobile Studio for a test drive and see how easy it is to develop mobile applications.

Download now

More information on the Mobile Studio

Monday, March 22, 2004

Delphi 8 Architect Trial available

Hot off the presses!

The Delphi 8 Architect Trial is available now.

Download, install and take this evolution of Delphi for the .NET revolution for a test drive.

I think you'll love it!

VSLive! San Francisco

VSLive! San Francisco takes place March 23-27 at Moscone Center West.

Don't miss this chance to come and see Borland's offerings for complete application lifecycle management on the Microsoft .NET platform.

I and the rest of the Borland crew will be in the exhibit hall.

Exhibit Hall Hours

Saturday, March 20, 2004

Delphi 8 in Portland, OR tomorrow

I'm presenting Delphi 8 in Portland, OR tomorrow evening.

Like I said in a previous post, you could potentially save $3,750 by going to see this presentation, if you decide to buy 5 new user licenses of Delphi 8 Architect at the 25% rebate offer.

More on the tour.

Danny on the hidden costs of memory mapped files

Danny Thorpe writes about the advantages and disadvantages of memory mapped files.

Danny's blog article

Friday, March 19, 2004

A pink USB Rubber Ducky anyone?

I guess a USB Swiss Army Knife isn't enough anymore.

Now I need a USB fan to cool off in the summer, a USB heating blanket to stay warm in the winter, and a USB noodle cooker for food.

BTW, I'll need a few more USB hubs, and probably a more powerful power adapter for the laptop.

More at CNNmoney

BorCon Lite: Keynote by Ray Konopka

Ray Konopka started off the day with a great keynote. One of his beginning slides looked like this:

Delphi or .NET?

   Single inheritance object hierarchy
   Strongly typed
   Format concept of properties and events
   Consistent use of exceptions
   Reusable and extensible component model
   Formal notion of class interfaces
   Special DLLs containing metadata (RTTI) and code
   WinForms (VCL)

Ray's major point is that Delphi developers are already very familiar with .NET, whether they know it or not.

BorCon Lite in Houston, TX

In about 15 minutes I'll be on my way to the airport to get to BorCon Lite 2004.

The event takes place at 7:30am - 6:00pm on Saturday.

Great rebates on Delphi 8 and awesome prizes! Don't miss this event if you're within 2,000 miles of Houston! ;-)

More info on BDN

Thanks for using QualityCentral

QualityCentral now reflects status of Delphi 8 update 2.

Thanks for taking the timw and effort to report and triage these issues.

Thursday, March 18, 2004

Spammed to the brink of insanity?

If we didn't have spam and virus filters at Borland, we would drown in spam and virii. Luckily I don't have to see very much of it. Only on rare occasions when I dare peeking in my spam bucket do I realize how much of the crap I'm getting. Hundreds and hundreds a day. David I probably gets thousands and thousands.

I think an appropriate punishment for spammers is that they should be jailed and put on a strict diet of, you guessed it, SPAM. More and more every day. Until they can't take it anymore.

CRN article

Delphi 8 in NYC

This event features a 50 minute glimpse of Delphi 8 for the Microsoft .NET framework.

When? Today at 6:30pm EST
Where? Microsoft, 1290 Avenue of the Americas, 6th floor, New York, NY

The pizza is FREE. Heavy rebates on Delphi 8. Fabulous prizes!

More info on the BDN

Wednesday, March 17, 2004

Reminder: BorCon 2004 abstracts due in 4 days

Christine Ellis reminds everyone that abstract submissions (presentation ideas) are due next Monday, March 22nd for to be considered for the 2004 Borland Conference.

Check out the Call for Papers

JBuilder X update 3 is now available

This update makes the best Java development tool in the world even better. There are well over 100 fixes to various areas of the product, including EJB development, WebSphere, JBoss, WebLogic, Web, Build System, Web Services, Mobile, Refactoring, Debugger, Editor, Team Development, Runtime, Unit Testing, Together Studio, etc, etc.

For the absolute best Java development experience, make sure you have JBuilder X and this latest update now.

More info on the BDN

Delphi 8 Architect Trial

The Delphi 8 Architect Trial has made it through R&D and QA. It is now in the final stages of manufacturing.

Get ready, get set, and look forward to being able to download the Delphi 8 trial by next week.

Stay tuned for more exciting news.

Tuesday, March 16, 2004

German Delphi 8 Update 2

Martin Strohal posted:

"I asked the Borland Customer Service Germany today: Possibly at the beginning of next week"

"(Das deutsche Update ist fast fertig!!! Es befindet sich zur Zeit in R & D. Mit sehr großer Wahrscheinlichkeit wird es ab Anfang nächster Woche zum
Download verfügbar sein.)"

Freely translated by me: The German update is almost done. It's in R&D right now, and will most likely be available for download at the beginning of next week.

Show me the source

I agree 110% with Steve when he says:

"Borland understood from the beginning that creating happy and productive component writers means enabling them to spelunk the architecture of the framework itself. While Microsoft provides generally excellent documentation and articles for .NET, the value of those things just doesn't compare to the actual source."

Flogging falafels

Our friends over at Falafel just started flogging.

Just what the doctor ordered - a daily flogging. :-p

The BPG1000 is out

Potatoes are dangerous. Guns are dangerous. Shooting potatoes with a compressed air gun is especially dangerous. Don't ever attempt this at home (or anywhere else). Get it? Nudge, nudge, wink, wink... :-)

This thing allegedly hurls a potato hundreds and hundreds of feet in the air. I'm waiting for video proof...

Crazy friend of mine holding up his BPG1000

Plans and shopping list

Borland updates mobile solutions

Borland's mobile C++ and Java solutions get a common IDE and RAD features. Anyone who develops mobile applications should definitely get this product.

BDN article

Monday, March 15, 2004

Automated IDE incident reporting available

Allen Bauer has created an IDE plug-in for Delphi 8 that provides the user with the opportunity to report Delphi IDE exception incidents directly into Quality Central.

Read all about it

Taking J2EE performance management to the next level

"Borland and Segue guide you through an effective approach to J2EE performance management that allows QA teams to isolate and resolve system-wide performance concerns with greater speed and accuracy than ever. By combining rigorous load testing with precise problem diagnosis, enterprises are empowered to deliver fast, reliable, and scalable J2EE applications."

BDN article

Can you be a bag screener?

Try to pick out the threatening objects you can't bring onto a flight. In this flash demo you'll be the bag screener. Passengers' bags go by very fast (at least if you're a complete newbie like me).

I wonder what a CaliberRM or StarTeam license looks like under one of these things? :-)

Try your luck as a bag screener

Sunday, March 14, 2004

Travelling most of this week

The snow in Tahoe is melting fast. It was 55F at Boreal yesterday and almost 60F today at Northstar.

Coming up later this week is a Delphi 8 presentation at the NYC .NET group, and also at BorCon Lite 2004 next Saturday.


Saturday, March 13, 2004

Java goes Generic

"Java 2 Platform, Standard Edition (J2SE) 1.5 will become available by mid 2004 and will include support for generic types and methods. This new language feature, known as Java Generics (JG), is a major addition to the core language."

Klaus Kreft and Angelika Langer takes a look at this upcoming feature in their article Language Features of Java Generics.

Friday, March 12, 2004

Newsflash: Not legal tender

Here I thought I was a multi-millionaire...

Well, those days are apparently over. I just found out that all the $1 million bills I've collected are not legal tender.

Just kidding, but I just had to comment on this story...

What I really want to know is what made this person believe that Wal-Mart would carry $998,325 in change. :-)

Thursday, March 11, 2004

Steve Trefethen's Wiki

Steve has given his site a face lift, and added lots of cool content.

Steve's site


Wireless in San Jose

Sounds excellent for BorCon 2004 in San Jose...

"In downtown San Jose, the network will cover three spaces where people often gather: Plaza de Cesar Chavez and the Circle of Palms, which are within view of the Fairmont Hotel and the convention center, and San Pedro Square, an area whose restaurants and bars make it popular with lunchtime and evening crowds. Fenton said the city's partners have agreed to provide free services for a year, and then they will all meet to determine whether it is something they want to continue and expand."

Mercury News article

Some useless statistics

This blog has been public for almost exactly 10 days. In those 10 days there have been over 5,000 hits to my Atom/RSS feeds, 7,000 hits to the archive pages. The counter at the bottom of this page doesn't tell the whole story obviously. 21,000 hits all in all. Rapidly approaching 100 billion hits a day, I would say... :-)

BDN and Danny's Blog make headline news in China

Volunteer translations of the BDN article "Why VCL for .NET?" and a Delphi Compiler Core blog article "Does Chuck Jazdzewski's Departure Mean the End of Delphi?" have made the front page of the CSDN.NET news portal.

The translated articles are here:

   "Why VCL for .NET?"
   "Does Chuck Jazdzewski's Departure Mean the End of Delphi?"

Thanks Danny, for making me aware of this awesome news!

Michael Swindell on Delphi's future on *both* Win32 and .NET

Michael Swindell posted this awesome post in delphi.non-technical that talks about the future of not only .NET, but also what many of you have been waiting for - Win32. Read it and be happy!


Following up from my earlier message a little over a month ago - Delphi 8
update 2 will be available for download by the end of this week. This 2nd
update improves on the already good quality of Delphi 8 and raises the bar
to our highest quality Delphi in years with over 200 addressed issues. The
complete readme with all the details can be found in Anders' Weblog.
In addition, we'll also be making a complete documentation update available
at the same time that improves the Delphi 8 documentation in both in content
and ease of use.

The next update you can expect to see will be for Delphi 7 (Win32). We are
working on a Delphi 7.1 patch that is expected to be released in the second
quarter. This 7.1 update is planned to address a variety of Delphi 7 issues,
particularly in the dbExpress area, and will be available as a free download
to all registered Delphi 7 and Delphi 8 customers. We do recognize that
Win32 support continues to be important for many Delphi developers,
particularly for maintaining existing applications but also for new
application development. As such we also plan to continue supporting and
developing new Delphi Win32 features for the foreseeable future. Our plans
include moving Win32 support into the "Galileo" IDE along side Delphi .NET
in the next major release - which is planned to combine both Win32 and .NET
features into the same IDE. So if you're still on Delphi 3 thru 6 and you've
been waiting to upgrade for news of a v7 update or a Win32 commitment beyond
v7, now is the time to take advantage of the great upgrade value in Delphi 8

Though we plan to continue supporting Win32 development, there will be no
slow down in our .NET momentum. We plan to continue supporting more and more
.NET technologies in Delphi - such as Compact Framework, .NET Whidbey, and
Yukon, all the way to Longhorn, WinFX, and beyond. So whether you're a long
time Delphi Win32 developer or a soon to be .NET developer or both - if you
haven't yet upgraded to v7 or v8, I highly recommend the upgrade to Delphi 8
(which includes D7 for Win32 in the box) it's an great value for both Win32
and .NET developers. Either way, .NET or Win32, we'll continue to support
you with quality Delphi releases and updates.

On behalf of the entire Delphi development team, thanks again for using
Delphi 8!

Best regards - Go Delphi!

Michael Swindell
Developer Tools - Delphi and .NET
Borland Software Corporation

Delphi 8 update 2 available now!


Download now

You need to download the General Update 2 for your particular SKU. You also need Rave Reports update as well as the Documentation update. There's also a InterBase 7.1 SP2 update on the page that you should download as well.

These updates together significantly enhance your Delphi 8 experience.


No Whidbey and Yukon in 2004?

It appears that Microsoft has delayed both Whidbey and Yukon until 2005.

ZDNet article
Yahoo News article

Great quote:

"Customers are supportive," said Rizzo, "They don't want us to be date-driven, they want us to be quality-driven."

Details on Delphi 7 and Win32 coming soon

Michael Swindell posted in a thread in delphi.non-technical just after midnight last night

>> In a previous post Michael Swindell mentioned ":at the beginning of
>> March we will provide additional information on related plans around
>> Delphi Win32 technology." So would expect to hear these plans
>> soon.
>> Note: Michael Swindell Post that I am refering to

Apologies for the delay. The 8.1 update will be out any moment now, and I'll
follow up very shortly with some new details on Win32/D7 etc... -m

Wednesday, March 10, 2004

Obligatory legalese added

It's come to my attention that I've completely forgotten a legal disclaimer. Actually I didn't forget. It was always there, just in invisible ink. Attached at the bottom of each blog page. Read at your own risk. Your mileage will vary.

Delphi 8 doc update teaser

According to credible sources, Delphi 8 update 2 is going live sometime before the end of this week - most likely some time tomorrow.

Around the same time, there will be an additional documentation update that will significantly improve the Delphi 8 documentation, help features, and your experience as a Delphi 8 developer.

Some of the highlights of the doc update:

   Reflects the contents of Delphi 8 update 2
   Added a Help on Help topic
   Navigation improvements, especially for PME lists (properties, methods, events)
   Added more content for ECO

Keep in mind that even though you probably could install the doc update on a system that has Delphi 8 with no update or with update 1, you should update the product first to update 2, and then install the doc update.

Tuesday, March 9, 2004

CeBIT to premiere USB Swiss Army Knife

The latest and greatest must have tool from Swissbit is a USB Swiss Army Knife.

Read all about it in The Register

Unfortunately was throwing ODBC driver fits at the time I posted this, so I couldn't order one. Maybe they cut the cables by mistake? ;-)

Penguin batting practice

New versions of the time wasting favorites...

Penguin Throw
Orca Slap

Thanks Tom! :)

Two Borland partners are becoming one

Serena buys Merant.


Monday, March 8, 2004

Delphi 8 update #2 coming really soon

The second Delphi 8 update has been signed off, and is going through the last stages of manufacturing etc. Hopefully it will be available for download in the next day or two. Stay tuned to the BDN for more news.

Meanwhile, here's a teaser on what you can look forward to - the README - long...

Delphi 8.0 for the Microsoft .NET Framework Update 2
Release Notes


This file contains important supplementary and late-breaking
information that may not appear in the main product
documentation, and supersedes information contained in other
documents, including previously installed release notes.
Borland recommends that you read this file in its entirety.

IMPORTANT: Delphi 8.0 must be closed before installing this






* Update 2 includes cumulative maintenance from Update 1. You
can install Update 2 regardless of whether you have
installed Update 1 or not.

* You will need the original Delphi 8 installation media to
install this update.

* This is a self-executing update. Double-click the file to
begin the installation and follow the prompts.

* During the update installation, the following dialog will
prompt you to overwrite your existing bdpConnections.xml file:

"Setup has created a new <bdpConnections.xml> file based
upon the drivers you have selected for installation. Do you
want to overwrite the existing copy of <bdpConnections.xml>
file with this one?"

You should choose "Yes," since the BDP version has now changed
to If you want to preserve your existing connection
information, you can choose not to overwrite the file,
however, you must then change the version of the BDP
assemblies in your bdpConnections.xml file from

* This update can not be removed after it is installed.


After installing this update, you might encounter the following

* If you encounter the following errors when starting the IDE:

"Borland Data Provider. Specified cast is not valid."
"Object reference not set to an instance of an object"

delete the ApplicationSettings.xml in location '<HomeDir>
\Local Settings\Application Data\Borland\BDS\2.0' and restart
the IDE.

* After installing Update 2, a new registry entry, "$(BDS)
\Bin\Borland.Vcl.Design.Xml.dll" = "Borland XML Components" is
added to HKEY_LOCAL_MACHINE\SOFTWARE\Borland\BDS\2.0\Known

If you are starting the IDE for the first time after
installing Update 2, the IDE automatically copies all the
registry settings from HKEY_LOCAL_MACHINE to

However, if you have already started the IDE once before
installing this update, do one of the following to add the new
registry entry to HKEY_CURRENT_USER:

a) In the IDE, choose Component | Installed .NET Components.
In the dialog that appears, select the .NET VCL
Components tab and click Add. Navigate to the Delphi 8
installation bin directory, select
Borland.Vcl.Design.Xml.dll, and click OK.


b) Close the IDE and use regedit to add a new string entry,
"$(BDS)\Bin\Borland.Vcl.Design.Xml.dll" = "Borland XML
Components" to registry key
Assemblies and restart the IDE. Please read the WARNING at
the end of this file before editing your system registry.

* If you encounter errors when compiling or running an
application, delete any referenced assembly files which may
have been copied into the project output directory. For
example, Borland.VclRtl.dll, Borland.Vcl.dll, and other files
that are listed in the "References" node of the Project
Manager for the project. You should also delete all files with
.pdb or .dcpil extensions.

* If you encounter designer errors when opening an existing ECO
project, delete any .dcuil and .exe files belonging to that
project before opening the ECO project. Failure to do so may
result in errors such as "DataGrid received an exception at
design time. Please reset the DataSource and DataMember
property on the grid."

* When using dbExpress MSSQL and TClientDataSet.ApplyUpdates,
you may encounter either of the following errors while
applying updates, due to a SQLOLEDB.DLL limitation:

"Cannot create new transaction because capacity was exceeded."

"Cannot create new connection because in manual or
distributed transaction mode."

To resolve the errors, use one of the following workarounds:

- On the DataSetProvider Options property, make sure
poFetchBlobsOnDemand and poFetchDetailsOnDemand are False.

- Use a BeforeApplyUpdates event to either call CloseDataSets
or Close the connection:

procedure TForm1.DataSetProvider1BeforeApplyUpdates(Sender: TObject;
var OwnerData: OleVariant);
// SQLConnection1.Close;

* To use Nevrona Rave Reports with Delphi after installing this
update, you will need to download and install the latest
update to Rave. See the Borland web site for download



This readme file lists the maintenance for all editions of
Delphi 8; not all of the features mentioned in this file are
available in all editions of the product.

This update resolves the following issues:


* When declaring a local variable, the Code Completion list
shows parameters, functions, properties, methods, etc., in a
context where it should show only types and namespaces.

* The Code Completion list is not displayed for qualified enum
assignments, or in the uses clause for nested namespaces.

* The Code Parameters tooltip is missing the first parameter for
local procedures and functions.

* If you have a saved desktop setting that does not display the
Object Inspector, and you set the Debug Desktop to <none>,
running and closing the application causes the Object Inspector
to be redisplayed.

* Code Insight shows meta classes for nested types. Selecting
the meta classes results in code that does not compile.

* Nested components are not serialized.

* Properties of type Object or constructors with Object
parameters are not serialized correctly (Quality Central

* Adding a row to the Developer Express component VGridControl
causes an exception (Quality Central 6859).

* Batch files are not saved as part of a project group.

* With Microsoft ClearType active, the Code Editor may flicker
when scrolling a large file.

* Searching through folded code does not work properly.

* Adding an event handler to the Code Editor may result in
duplicate lines of code until the screen is refreshed.

* After changing the IDE desktop layout to Classic Undocked and
running the application, the VCL Form designer is blank.

* When VCL Form designer is open, selecting "File | Print"
does not function.

* Values entered into the Object Inspector for VCL components
are lost unless Enter is pressed before selecting another
control on the form.

* Using the To-Do List with a project group causes access violations.

* After changing the TODO item action status in a To-Do List,
closing the project without saving changes causes an access

* Using a VCL component that resides in a package results in the
error: "Internal designer error: failed to add assembly

* The Object Inspector "Arrange by" setting changes

* Opening a .nfm file causes an "Invalid stream format" error if
the form is in binary mode.

* Double-clicking on a form may cause duplicate lines to be displayed.

* Using Ctrl + Z to undo changes in the Code Editor may result in
an "Assertion failed" error and termination of the IDE.

* When code is inserted in the Code Editor, the lines after the
insertion point are displayed twice until scrolling occurs.

* Adding an inherited form to the Object Repository without first
adding the parent form is erroneously permitted. Subsequently,
attempting to use the inherited form results in the error
"Error creating form : Object reference not set to an instance
of an object."

* When using the scroll bar to scroll to the end of a form, the
form is automatically resized when clicked.

* Repeatedly changing the Object Inspector contents by using the
right-click View command may result in no properties being

* The Installed .NET Components dialog message "Loading cached
ToolboxItem's" contains an extraneous apostrophe.

* A form unit file added to a project by using "Project | Add to
Project" is not listed as a form in the "Project | Options |
Forms" list.

* Attempting to add a code snippet that includes extended
characters from the Tool Palette does not actually add the
code to the Code Editor.

* An "Invalid variant operation" occurs when moving the mouse over
a Windows menu.

* Using Ctrl + V to paste the clipboard content into the address
edit box on the Welcome page duplicates the content three

* Setting the mouse pointer on a certain procedure in
Borland.Vcl.Windows.pas displays the following error
"Borland.Vcl.Windows.pas(25): Could not compile used unit

* Invoking Code Insight intermittently results in the error
"Unit2.pas(81): Internal error: ILD6634."

* Dropping a component on a data module and then changing the
desktop setting between docked and undocked may cause the
error "Object reference not set to an instance of an object,"
and access violations.

* The Escape key does not cancel the edit of a Text property.

* When saving a Windows Form application that has a global To-Do
item, either an external exception or an access violation

* When saving a Windows Form application that has a To-Do item
in the project source code, an access violation occurs.

* The tab order for "Project Options | Directories/Conditionals"
is incorrect for package projects.

* Korean character combinations do not work in VCL Forms
(Quality Central 6920 and 6794).

* Adding a column to GridView object (Developer Express
XtraGridSuite) from the designer takes up to three seconds
(Quality Central 6860).

* Code Completion does not work on the right side of ":=" in the
implementation section.

* When declaring a local variable, the Code Completion list does
not show namespaces and the user is not assisted in declaring a
variable type when trying to fully qualify the type with the
namespace name(s).

* Code Folding looses track of where folded sections are in
the Code Editor (Quality Central 6823).

* Class Completion of a string parameter results in a definition
that escapes the "string" reserved word (Quality Central 7008).

* Class Completion with an array of const parameter results in a
definition that escapes the "const" reserved word.

* When entering multiple lines with the String Collection
Editor, only the last line is saved.

* Exposing a class property on a Windows Form and then switching
to Design view may cause components not to be displayed in the
Designer (Quality Central 7036).

* Adding a TODO item beneath a collapsed region of code causes
the newly added comment to be displayed incorrectly.

* Adding an empty line to the top of the Code Editor may result in
IDE instability.

* Copying and pasting text into the Code Editor quickly and
repeatedly sometimes fails with the error "Assertion failed:
amount >= dest - startDest, file..." (Quality Central 7123).

* If syntax highlighting is used and the end of a comment line is
an international character, the IDE may terminate.

* Dropping a SqlConnection or other dbExpress components onto
a VCL Form results in the error "Arithmetic operation resulted
in an overflow."

* F1 Help is not always context sensitive in the Code Editor
(Quality Central 6833).

* The resource compiler does not respect the "Show Command Line"
IDE option.

* The resource compiler does not respect the "Search path" or
"Conditional defines" project options.



* Most of the IOTAFormEditor methods raise access violations.

* IOTAModule.CurrentEditor sometimes returns incorrect results
for a module that contains a VCL Form.

* IOTAEditorServices.TopBuffer.Module reports the incorrect
active module when the active module has a visual designer
associated with it.

* Form editor notifications do not fire.

* IOTAComponent.GetPropValueByName and SetPropByName do not
work. Calling IOTAComponent.SetPropByName('TabOrder', 0)
fails with the error "The specified cast is invalid."

* IOTAProject.ModuleFileCount always returns 0 for a VCL forms

* IOTAComponent.GetParent always returns nil.

* The IOTAIDEService.FileNotification event does not pass a
OTAFileNotification.ofnFileOpening notify code.



* When using a typed dataset, the DataView Table property cannot
be set in the Object Inspector.

* BdpCommand.ExecuteScalar() fails with a BdpException for
CHAR,VARCHAR and other non-numeric, integer field types.

* The dataset code generated from an .XSD file generates
inaccessible nested types.

* In the Table Mappings dialog, checking the check box and
selecting "Referenced DataSets..." from the combo box doesn't
display anything.

* In the Table Mappings dialog, clearing the SourceTable combo
and pressing Reset causes an unhandled exception.

* Calling Close on a BdpConnection that's attached to an
MSAccess database doesn't actually close the connection.

* Four byte data truncation occurs with BDP-MSSQL TEXT and IMAGE

* TDBEdit shows both the date and time for a Paradox date field
when the time part of the datetime is zero.

* An exception from HRESULT:E_OUTOFMEMORY can occur when running a
Midas client application which frequently updates and refreshes data.

* Using a TDBLookupComboBox to display a list of data given by a
detail TQuery may result in the error "Field not found" and
access violations (Quality Central 5384 and 4823).

* TGuidField creation fails with the error "Invalid field size."

* TWideStringField.SetAsWideString does not convert strings
correctly (Quality Central 6753).

* Attempting to create a simple DataSnap client that connects to
a Midas server using NVARCHAR fields results in errors,
eventually leading to stack overflow and incorrectly displayed
data (Quality Central 6798).

* Clicking on the second row of DBCtrlGrid results in the error
"Object Reference not set to an instance of an object."

* Accessing a Paradox table through TDataSetProvider and
TClientDataSet components can cause an exception if the table
contains a memo field (Quality Central 7385).

* MSSQL provider returns four extra bytes for an image or text
field. The extra chars occur in the last four bytes of the
array returned.

* BdpDataReader.GetValue() returns an object of type
System.Byte[] for a NULL CLOB (Memo) instead of a

* Setting BDPDataAdapter CommandText in the Object Inspector and
then opening the ConfigureAdapter and clicking the OK button
results in the error "System.NullReferenceException: Object
reference not set to an instance of an object."

* Update 2 provides DB2 and Informix drivers for dbExpress.



* Deploying the contents of a default Web application or custom
Web control fails to run on a remote machine because
Borland.Delphi.dll is missing.

* It is now possible to have multiple web.config files in an
ASP.NET project, however, you must first save any existing
web.config files into a project subfolder before using File |
New | Other | Delphi ASP Files -> Web Configuration File.

* When adding a Web Control within a table on a Web Form, the
style sheet settings do not take effect until you move away
from the Web Form and then move back to it.

* Reopening an ASP.NET application may fail with the error
"List index out of bounds."

* Images on pages in subdirectories do not render at design time
if they use the ./ or just the image name. However, they
render correctly at runtime.

* The Web Form designer does not properly parse and represent
tagprefixes for user controls, resulting in a parser error.

* The Object Inspector replaces relative href values with literal

* Renaming an ASP.NET page to "default.aspx" within the IDE
fails because the unit name of "default" is invalid.

* A typed dataset is not retained on a Web Form application.

* Property changes made to Web Controls using the Object
Inspector do not persist.

* For ASP.NET web applications, when the User locale and system
locale are set to Turkish, Global.asax file inherits
Global.Global instead of Global.TGlobal, which causes a
runtime error.

* Select <option> tags are formatted as one continual line,
resulting in truncation and data loss. This seems to only
happen on ASP Forms.



* In a master-detail application that uses DBWebNavigators and
DbWebGrids, applying a change to a detail row without first
moving off the row, does not apply the change to the server.

* Exception messages include extraneous parameter and call stack

* Attempting to undo a change to an inserted row in the middle
of a table in a master-detail-detail application results in
the error "Column 'xxxxxx' is readonly."

* When inserting detail rows into a master-detail
application, then changing the detail row and moving the master
row without posting the changes, the changes do not take

* Inserting multiple rows into a detail table in a master-
detail-detail application may result in a "key violation" error.

* Undoing multiple inserts in a master-detail table results in
a "Readonly key field" error.

* Undoing a master row that has inserted details effectively
strands the detail rows. Undoing inserted rows that have
detail rows is now disallowed.

* If a dataset contains master-detail tables, neither of which
have records, connecting two dbWebGrids to them shows only the
first grid. At design time, the detail doesn't show the
metadata, and at runtime, the detail doesn't show up until you
add rows to the parent table.

* Assigning a DBWebDataSource to a Delphi-based DB Web control
results in the error "Object type cannot be converted to
target type."

* RowCount is incorrect after deleting a row in a child table.

* Deleting rows in a detail table and then moving up a row
prevents you from deleting in the detail table of the parent.

* If a table or child table has no rows, inserting rows and then
applying changes without posting the last changed row, the
changes to that row are not posted.

* There are numerous issues involving changes by a DBWeb control
application to the column values included within the
DataView.Sort property. These have been addressed by making
such columns read-only. Changing Sorted columns has been
disallowed in the current version of the DBWeb controls.

* When using DBWebImage on a form and inserting a row or moving
to a row that has no data in the image column, the image
continues to show the last valid image.

* Inserting and then deleting a record in master detail results
in the error "Record not found."

* A resized DBWebDropdown control reverts to its original size
after saving the file.

* A "Get Object reference not found" error occurs on the DBWebGrid
Property Builder when DBDataGrid points to a DBWebDataSource,
which points to a DataView.

* ApplyUpdates fails when there is an ORDER BY clause in the
select statement.

* If a DBWebGrid uses ButtonColumns (Update/Delete/Select) which
are of type PushButton, the buttons do not work and errors
occur after using them several times.

* Using a Select ButtonColumn does not set the row.

* If a table has columns that are not nullable, an error occurs
when attempting to insert new rows.

* The DBWebNavigator Refresh button is enabled on a child table
when changes have been made to the parent, and on a parent
table when changes have been made to the child. Refresh
should be disabled whenever any changes are made to the

* When a read-write DBWeb application with a DBWebGrid is
connected to a table with a Blob field, and the Blob field is
not the last field, scrolling causes the blob data to become
corrupted. Subsequently, DBImage controls will not show the
blob data.

* DBWebNavigator now supports XXXButtonVisible for each of the
navigator buttons (for example, ApplyButtonVisible,
DeleteButtonVisible, etc.).



* TXMLDocument is now included with the product. This includes
all of the XML runtime and an XML DOM implementation based on
System.Xml from the CLR.


* XMI Export is now enabled.

* XMI Import has been improved (Quality Central 7101 and 7150).

* The IDE could AV when closing all pages (including the Welcome
page) before finally closing the last diagram page.

* Improved support for using keywords as attribute names in the
diagram surface.

* Cardinals can now be used as attribute types.

* Cancel-handling has been improved when using the EcoExtender
to generate a schema at runtime.

* Autoforms now come up on the first double-click on a grid.

* A potential for deadlock when using the EcoDragDropExtender
to drag and drop things has been fixed.

* Optimistic locking could cause ArgumentOutOfRangeExceptions.

* DBEvolution recognizes attributes designated NOT NULL and with
no default DB value, and does not proceed.

* Derived attributes are now correctly marked readonly in

* Autoforms now correctly close when the displayed object is

* Abstract operations are displayed in italics in the design
surface as per the UML standard.

* An improved error message is issued when the persistence
mapper has not been properly configured.

* Code generation has been trimmed and improved.

* Support for cross package inheritance has been improved.

* Optimistic locking failed to validate the existence of referred

* Optimistic locking used two transactions; one for checking
conflicts and one for updating. The two transactions have been
merged into one (Quality Central 3123).

* Subscriptions involving list operations have been fixed.

* Object versioning has been fixed.

* If there is a method called PreDelete() modeled on an Eco
class, it will be called when (before) the class is deleted.



* Expressions that reference elements of multi-dimensional
arrays display a "cannot evaluate" error.

* Expressions of type set of enumerated values do not evaluate

* Expressions that reference the length of one-dimensional
arrays display a "cannot evaluate" error.

* Evaluating an element in a multi-dimensional array causes a
"Debugger Internal Error CIL-1246".

* Overloaded default index properties are not completely handled
by the evaluator.

* The debugger does not recognize the IntPtr type.

* Adding a watch for "Length(SomeArray)" causes a "Debugger
Internal Error CEV-3682."

* "Inspecting at Cursor" twice can raise an exception error and
terminate the IDE.

* Even though the "Run until return" option has been removed,
its shortcut remains and causes an error if pressed during
debugging (Quality Central 6760).

* "Modify/Evaluate" cannot handle expressions with accented

* The debug inspector's type cast option raises an error.

* Type casting in the evaluator does not work.

* After performing an action in a debugged application, such
as opening an ADO.NET database connection, attempting to
inspect or watch results in the error: "(compiler error):
symbol is not linked in executable" (Quality Central 7080).

* Stepping while debugging causes the screen to flicker.

* Even with the "Allow side effects in new watches" option
unchecked, the watch view still evaluates a function call.

* An AnsiString or ShortString is displayed as an array of byte
values instead of as a string.

* Variant types do not display their values.

* The evaluator cannot display values of sets.

* Inspecting 'resourcestring' variables causes an error.

* Unable to evaluate individual elements of a class property of
"record" type.

* The debugger cannot evaluate open variant arrays.

* Some class properties cannot be evaluated.

* The evaluator truncates results string to 512 characters (Quality
Central 7027).



* Converting a Variant to an AnsiString raises an

* Using Code Browsing (Ctrl+Click) repeatedly may cause an
"Internal error: S3510."

* The compiler generates invalid XML documentation when you
declare a type as an "array of [something]", which may result
in "duplicate attribute" errors in the Internet Explorer XML

* Compiling a package twice results in an erroneous "unit name
mismatch" message.

* Changing the namespace prefixes section of the project options can
cause an infinite loop in the compiler and termination of the IDE.

* Typecasting a large Longword to an Int64 does not produce the
expected result.

* Canceling a compile may cause an access violation.

* Under certain circumstances, the compiler issues the error
"Bad packaged unit format" when attempting to produce dcpil

NOTE: If persistent access violations occur when compiling
packages, it may be necessary to delete *.dcuil files
generated from user source.

* Comments are not converted to UTF8 in the generated XML
document unless the source code encoding is UTF8.

* Projects containing both ANSI encoding and UTF8 encoding
source code do not compile correctly.

* If a class is declared as abstract, the compiler d

Borland to Present at Deutsche Bank Software and Services Conference

Press Release

Dan Miser's blog

Excellent! Dan Miser is now also blogging.

Dan Miser's blog

Delphi 8 in Salt Lake City, UT tomorrow

John Kaster is presenting Delphi 8 in Salt Lake City, UT tomorrow evening.

Like I said in a previous post, you could potentially save $3,750 by going to see this presentation, if you decide to buy 5 new user licenses of Delphi 8 Architect at the 25% rebate offer.

Personally, I think your boss should give you a raise if you go see John and save your company that much money!

More on the tour.

Friday, March 5, 2004

Email postage to stop spam?

According to this article Bill Gates, among others, is suggesting that we start buying email stamps.

Sure, a penny per message would probably stop some spammers. But who's the postage money going to? To my ISP? To the recipients ISP? To the government? Maybe to me?

Hmm... If the money goes to me, then maybe all those virus writes will become rich because they would infect people's machines to send email to them (and thereby money)...

What about international spammers? Is there a particular reason why spammers wouldn't send spam from abroad? How in the world do you get the entire world to agree on email stamps? You would have to, otherwise there would always be some email stamp free paradise where the spammers can do their business from. Isn't that's what's called "offshoring"? :-p

Buying postage by solving a math puzzle? Sure, I love math puzzles, but what about people who aren't any good at math? Last time I checked, they could still buy stamps at the post office. Or would it be my computer that would be used as a client to compute something? Why should I trust something like that to be done on my machine?

Would all email go through email clearing centers? That would be one way of enforcing, right? In that case, why wouldn't the email clearing center just filter spam at no cost to me?

The article brings up another interesting point... If such email clearing centers did exist, what if they get hacked? Now I can't send or receive any email and my business grinds to a halt.

Also, if email becomes costly enough, then we'll get other solutions for getting our messages across pretty soon. Oh, wait... They already exist... Like MSN Messenger and the like.

Well, anyway, enough digressing about non-Borland related stuff. I hate spam just as much as the next guy, but I don't think buying stamps is the solution. It smells like paying for bandwidth to me...

Nick's Newsgroup Manifesto

I forgot to post this... Sorry Nick! But since it's now updated, maybe I didn't miss my chance... ;)

Nick Hodges (TeamB) has taken feedback from the field and updated his Newsgroup Manifesto.

If everybody plays nice, everybody will enjoy the game, and everybody wins!

Torry's Delphi Pages: Welcome Back!

Torry's Delphi Pages are back online.

Simon Kissel just posted about this in the newsgroups, and I don't believe it's old news, so here it is: Welcome Back!

What's in a name?

Danny posted the following tidbit of info about some naming decisions:

From: "Danny Thorpe"
Newsgroups: borland.public.delphi.non-technical
Subject: Re: Why VCL for .NET?
Date: Thu, 4 Mar 2004 23:57:02 -0800

"USCode" wrote
> Instead they choose "Kylix" .... which makes me think maybe Borland was
> unsure internally on the success of the Kylix product and didn't want to
> tarnish the Delphi name ...

Actually, you've got it backwards. The name change was an effort to shed the weight of industry bias against the Delphi name. One of the biggest challenges with having a long-running successful product like Delphi is that people won't look at it for what it is today, they cling to their first impressions - or just hearsay - of the product 10 years ago.

We went through a similar process when transforming Turbo Pascal into what became the Delphi product. The industry didn't want to hear about anything Pascal, especially the trade press. If your audience tunes out as soon as they see the name (because they associate the name with homework 20 years earlier), the demo is over.

Kylix was a new development tool for a new and growing Linux market. The concern was that using the name of a well-known Windows development tool for a Linux product would hinder acceptance of the tool in Linux circles. The Linux world is hypersensitive to all things Windows, so a Windows tool popping up on sacred Linux ground would not be welcome. Kylix needed to stand on its own, so it got its own name.

While I understood the reasoning, I wasn't thrilled with the decision. For proof, count how many times the word "Kylix" appears in the dcc command line compiler executable. :>


Thursday, March 4, 2004

E.T. Phone Home!

No, this isn't another Mars mission...

Allen Bauer discusses automated IDE incident reporting and what it could look like for Borland's IDEs in the future.

Personally, I think it would be awesome to get this stuff into QualityCentral more or less automagically. I heard somewhere that Microsoft has collected an aweful lot of crash data, and a rather large amount of it is due to misbehaving video drivers - who would have thunk? (I've said so for a long time - too much in support I suppose).

Wednesday, March 3, 2004

Now featuring comments by

Yet another beta feature... Comments by Feel free to add comments, but be aware that they'll all disappear once I start using the threaded comment server on BDN.

Oh, and you can't edit comments. Nor can you delete them. Nor can I, unfortunately. So be sure you really mean them.

I reserve the right to only read nice and encouraging comments. :-p

JBuilder X marketing at JavaPro

I just went to JavaPro's web site and got a nice flashy JBuilder X ad banner in my face.

I linked directly to the image and landing page on, so if the above is broken, you know you're filtering ad content.

You're cleared for take off!

This blog now has an RSS feed only supports Atom feeds as far as I know. Malcolm Groves at Borland in Australia sent me a link for dynamic RSS generation using

I guess I'm just supposed to link directly to that feed, so that's what the RSS logo in my link section does for now. If someone has a better idea of how to do it, feel free to drop me an email.

The QualityCentral SysOp Guide is now available

John Kaster just published the Quality Central SysOp Guide.

Tuesday, March 2, 2004

Danny Thorpe's Blog is now public!


Random notes on Borland's Delphi language and tools, hosted by Danny Thorpe, Delphi Compiler Architect.

I love that top BDN bar. That gives me something to waste time on - stealing Danny's blog template code. Yeah!

Only one problem, it doesn't fit in with my "split pea" template... Oh well, this green is horrible anyway, right? Oh, that's right. I don't have comments yet... :-p

Delphi Compiler Core

Borland sponsors Delphi Developer Days 2004

Delphi Developer Days 2004 seminars are intense, two-day long seminars presented by Cary Jensen.

This tour is sponsored by Borland, Jensen Data Systems, and many others.

Delphi begins its 10-year journey to the origins of the solar system

Kristofer Skaug wrote in a post in delphi.non-technical:

"I would like to thank the Borland Delphi team for giving me the ideal tool to create ground test equipment software in support of the Rosetta comet-chaser mission, which launched successfully today. I can only guess that without Delphi, the years of work I put into that project would've been considerably less fun!"

European Space Agency News
Launch footage

Borland sponsors Delphi 8 tour by InfoCan and DSW

InfoCan Management and The DSW Group are doing a seminar tour (two days per stop) across Canada and the United States showcasing the new features of Delphi 8.

This tour is sponsored by Borland, Microsoft, and the Informant.

Danny Thorpe and Allen Bauer join Falafel's Advisory Board

"We are ecstatic to have industry icons like Danny and Allen serving on the Technical Advisory Board," said Alain Tadros, Falafel Software's President and CEO. "Their industry expertise and almost limitless technical depth will help us navigate Falafel Software to the next level."

Falafel's Press Release

Monday, March 1, 2004

BDN news feeds now available

John Kaster just announced the immediate availability of BDN RSS feeds. said "Very impressive RSS 2.0 support from Borland. Thanks!".

Dear Santa!

I can't wait until Q4 to play with one of these babies.

Dear Santa, please send me a prototype ASAP, and I promise I'll be good and pay my bill on time from now on!


This blog is hereby made public

We're investigating doing blogging on the BDN. As part of that I figured I'll mess around with it. So I created a account, and downloaded w.bloggar. In combination these things allow me to blog from a Windows app and just push content directly from my desktop, without having to worry about messing around with a browser every time. I happen to like it that way...

So, anyway, here it is, my blog! Your mileage will vary. Enjoy!

I also added the Atom feed.

Delphi 8 in Washington, DC and Seattle, WA

John Kaster is presenting Delphi 8 in Washington, DC on March 3rd and in Seattle, WA on March 4th.

Like I said in a previous post, you could potentially save $3,750 by going to see this presentation, if you decide to buy 5 new user licenses of Delphi 8 Architect at the 25% rebate offer.

Personally, I think your boss should give you a raise if you go see John and save your company that much money!

More on the tour.