Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

After porting a DOS BP7 app to Delphi....

5 views
Skip to first unread message

Scout

unread,
Sep 25, 2006, 3:42:18 AM9/25/06
to
Hi,
I've posted before about my experiences in trying to get a very mature
DOS based POS BP7 app into Delphi and Windows.

The process took me about 6 months. Although I was the original
author of the BP7 app, it has changed significantly since I last looked
at the code. I spent some time perusing the BP7 source, then gave up
and just started coding in Delphi.

The end result was released to the customer in April. Nothing went
wrong.

In June, the customer opened a new store with rafts of new
functionality required, and specified that they wanted to use the new
Delphi app for this store. This was to be their biggest ever store, and
a flagship for the company.

I would like to say that nothing went wrong when this store opened,
but I would be lying. The software worked flawlessly, but the local
councils hadn't figured on how much interest would be generated by this
new store. The traffic jams were so bad that motorway off-ramps had to
be closed. National news carried stories asking customers NOT to visit
the store because of the traffic chaos.

I felt pretty chuffed that my new Delphi program had been able to
handle the load and not cause any trouble, but my proud Dad feeling went
away when the customer issued a general request to many other software
companies to propose a new nation-wide software solution for their POS
systems.

This customer has an IT department that tracks all computer faults.
In the last few months, the new store has had only one: a hard disk
failure. How could they think of throwing my software out after such a
short time when it seems to be so reliable? Functionally it is similar
to the old DOS system, but it has many enhancements that make it easier
to use.

There was a hint of what might be going on when the customer started
trying to figure out how much it would cost and if it was feasible to
replace all of the DOS units before Christmas.

I've only found out about this today:

There is a DOS to Delphi replacement plan in place. Thousands of
machines need to be replaced - all to run my new Delphi program. The
other potential vendors have been told thanks, but no thanks.

It turns out that they like the Delphi solution so much that it is
going to be installed everywhere. And it is going to happen in the next
few weeks.

Apart from the cash that such an enthusiastic response generates, I
find myself overwhelmed that a brand new software product should be
received so positively.

The new software was built using BDS2006. I've only just applied the
hot-fix rollup. I've had many situations where I've lost hours of work
thanks to the IDE suiciding, but in each case I've been able to re-
create my work easily, and usually have improved on what I had written
by re-thinking it. I'm not sure that having the IDE crash periodically
can be justified as a re-factoring feature, but it works for me!

The things I like most about the new Delphi code are:

- Devices like printers, scanners, card-readers are controlled by
loadable drivers which are implemented as bpls.

- Personality attributes such as "Am I allowed to sell liquor" or "Am
I allowed to sell prescription drugs" are also controlled by loadable
modules implemented as bpls.

- Devices and personality modules can be loaded or un-loaded without
stopping the program.

- Updates use a difference engine to control which parts should be
changed, and also to ensure that the database structure is up to date.
The setup program used for an initial install is the same as the setup
program used for an update.

- No memory leaks. No file handle leaks. No crapping out
unexpectedly. No support calls!

I am a happy camper.

Scout

eduard

unread,
Sep 25, 2006, 6:03:21 AM9/25/06
to
Scout wrote:

> The new software was built using BDS2006. I've only just applied
> the hot-fix rollup. I've had many situations where I've lost hours
> of work thanks to the IDE suiciding, but in each case I've been able
> to re- create my work easily, and usually have improved on what I had
> written by re-thinking it. I'm not sure that having the IDE crash
> periodically can be justified as a re-factoring feature, but it works
> for me!
>
> The things I like most about the new Delphi code are:
>
> - Devices like printers, scanners, card-readers are controlled by
> loadable drivers which are implemented as bpls.
>
> - Personality attributes such as "Am I allowed to sell liquor" or
> "Am I allowed to sell prescription drugs" are also controlled by
> loadable modules implemented as bpls.
>
> - Devices and personality modules can be loaded or un-loaded
> without stopping the program.
>
> - Updates use a difference engine to control which parts should be
> changed, and also to ensure that the database structure is up to
> date. The setup program used for an initial install is the same as
> the setup program used for an update.
>
> - No memory leaks. No file handle leaks. No crapping out
> unexpectedly. No support calls!

nice work :D

about "no memory leaks", how did you checked this? FastMM or something
else (or just nobody complained) ?

eduard

Staiger

unread,
Sep 25, 2006, 8:31:10 AM9/25/06
to
Cracking piece of work! Well done.

Thack


Peter Morris [Droopy eyes software]

unread,
Sep 25, 2006, 12:46:03 PM9/25/06
to
Congratulations!


Kyle A. Miller

unread,
Sep 25, 2006, 2:54:59 PM9/25/06
to
Congratulations! It is a wonderful feeling when your work is being
embraced and used in a production environment.

Sorry about the IDE crashing. My guess is some of these crashes are due
to error insight. Let's hope we get them button up. The memory leaks
fixed with the hot fix should do a lot to help.

I hope your application rollout continues to go smoothly.

Scout

unread,
Sep 25, 2006, 6:13:30 PM9/25/06
to
In article <xn0ern4a...@newsgroups.borland.com>, nos...@no.org
says...

> about "no memory leaks", how did you checked this? FastMM or something
> else (or just nobody complained) ?
>
> eduard
>
>
Yep, I used FastMM with the debug stuff turned on.

Most of the reason for no memory leaks is heavy use of interfaces and
TInterfacedObject descendants.

David Clegg

unread,
Sep 25, 2006, 9:20:21 PM9/25/06
to
Scout wrote:

> I would like to say that nothing went wrong when this store opened,
> but I would be lying. The software worked flawlessly, but the local
> councils hadn't figured on how much interest would be generated by
> this new store. The traffic jams were so bad that motorway off-ramps
> had to be closed. National news carried stories asking customers NOT
> to visit the store because of the traffic chaos.

This didn't happen to be at Sylvania Park by any chance? And are you at
liberty to divulge who the customer was? Do they normally locate
themselves in big red sheds?

--
Cheers,
David Clegg
dcl...@gmail.com
http://cc.borland.com/Author.aspx?ID=72299

QualityCentral. The best way to bug Borland about bugs.
http://qc.borland.com

"Marge, it takes two to lie. One to lie and one to listen." - Homer
Simpson

Scout

unread,
Sep 25, 2006, 11:19:25 PM9/25/06
to
In article <xn0eroj9...@newsgroups.borland.com>, dcl...@gmail.com
says...

> Scout wrote:
>
> > I would like to say that nothing went wrong when this store opened,
> > but I would be lying. The software worked flawlessly, but the local
> > councils hadn't figured on how much interest would be generated by
> > this new store. The traffic jams were so bad that motorway off-ramps
> > had to be closed. National news carried stories asking customers NOT
> > to visit the store because of the traffic chaos.
>
> This didn't happen to be at Sylvania Park by any chance? And are you at
> liberty to divulge who the customer was? Do they normally locate
> themselves in big red sheds?
>
>
David
are you clairvoyant?

David Clegg

unread,
Sep 25, 2006, 11:20:43 PM9/25/06
to
Scout wrote:

> David
> are you clairvoyant?

Nope, just an observant Kiwi :-)

QualityCentral. The best way to bug Borland about bugs.
http://qc.borland.com

"You've tried and failed. The lesson here is, never try again." - Homer
Simpson

0 new messages