Abnormal borland compiled program termination after winXP SP3 install

Problem

After installing WindowsXP SP3 my Borland Builder 6 (BCB6) applications compiled with QuickReports (standard v3.09) were crashing with the errors EAccessViolation and 'Abnormal program termination'.

Running the application under BCB6 resulted in the error "EAccessViolation, Access violation at address 40006A2F in module 'rtl60.bpl'...", trying to open the report form under the project view would cause the same error.

Additionally trying to add a QuickReport to a blank form resulted in the error "Printer selected is not valid" which gave me the hint as to what may be wrong.

Solution

After an hour or so of scratching my head over this I discovered it relates to my default printer being set to a network printer which was not on after or during the SP3 installation.

The solution is to either turn the network printer on or change the default printer to one that is accessible (some may need to re-install there printer software and set the default printer again).

All in all thanks again MS for yet another experience in time wasting...

Filed under: Code Snip  Tags: Embarcadero, Borland, C, Cpp, Bcb6

1 Responses to “Abnormal borland compiled program termination after winXP SP3 install”

I'm having same issue. This is bad because many remote desktop services leave the default printer unset (presumably from messing around with adding a virtual printer for the remote desktop session). Because this exception happens at start up there are very few nice ways to handle it. This is especially troublesome because this exception prevents our application from starting, even when no intention was ever made to print anything.

Sorry, comments have been closed for this post.
(default) 9 queries took 29 ms
NrQueryErrorAffectedNum. rowsTook (ms)
1DESCRIBE `tags`221
2DESCRIBE `categories`221
3DESCRIBE `posts_tags`221
4DESCRIBE `categories_posts`2211
5SELECT `Post`.`id`, `Post`.`url`, `Post`.`title`, `Post`.`icon`, `Post`.`metadesc`, `Post`.`metakeys`, `Post`.`categories`, `Post`.`tease`, `Post`.`body`, `Post`.`private_body`, `Post`.`created`, `Post`.`modified`, `Post`.`status`, `Post`.`allow_comments`, `Post`.`tags`, `Post`.`hitcount`, `Post`.`hitcount_rss` FROM `posts` AS `Post` WHERE `Post`.`url` = 'abnormal-borland-compiled-program-termination-after-winxp-sp3-install' LIMIT 1111
6SELECT `Comment`.`id`, `Comment`.`post_id`, `Comment`.`body`, `Comment`.`author`, `Comment`.`url`, `Comment`.`email`, `Comment`.`ip`, `Comment`.`status`, `Comment`.`junk_score`, `Comment`.`created`, `Comment`.`modified` FROM `comments` AS `Comment` WHERE `Comment`.`status` = 2 AND `Comment`.`post_id` = (26) 111
7SELECT `Tag`.`id`, `Tag`.`tag`, `PostsTag`.`post_id`, `PostsTag`.`tag_id` FROM `tags` AS `Tag` JOIN `posts_tags` AS `PostsTag` ON (`PostsTag`.`post_id` = 26 AND `PostsTag`.`tag_id` = `Tag`.`id`) 550
8SELECT `Category`.`id`, `Category`.`category`, `CategoriesPost`.`post_id`, `CategoriesPost`.`category_id` FROM `categories` AS `Category` JOIN `categories_posts` AS `CategoriesPost` ON (`CategoriesPost`.`post_id` = 26 AND `CategoriesPost`.`category_id` = `Category`.`id`) 111
9UPDATE `posts` AS `Post` SET `Post`.`hitcount` = Post.hitcount + 1 WHERE `Post`.`id` = 26112