Delphi / VB6 estate inventory2026-11-10

What the old application is actually built on

Read from the source tree: 2 project file(s), 37 forms, 39 units.

Verdict: rewrite · 5 dead dependencies · effort floor 42.4 days.

Forms37Units39 Components8Dead / unsupported5 IDEDelphi 7-era (no .dproj, pre-2007), Visual Basic 6, Visual Basic 6 project file

Components the application depends on

ComponentVendorStatusRisk
Crystal Reports runtimeSAPruntime long out of supporthigh
Crystal Reports 8 engineSeagate/SAPunsupportedhigh
Borland Database EngineEmbarcaderodead: no 64-bit, no supporthigh
DAO / JetMicrosoftdeprecatedhigh
VB6 common controlsMicrosoftno longer servicedhigh
DevExpress VCLDevExpresssupported, licence requiredcost
Virtual Treeviewopen sourcemaintainedlow
Microsoft ADO/COMMicrosoftlegacy COM, still shippedmedium

Findings

HIGH Built with a compiler nobody supports

Delphi 7-era (no .dproj, pre-2007), Visual Basic 6, Visual Basic 6 project file. The IDE is out of support and the compiler will not run on a current 64-bit-only Windows toolchain without care; a rebuild needs an IDE decision before a line of code changes.

Do this: Decide recompile-on-modern-Delphi versus rewrite first. That single choice sets the budget.

HIGH Chained to a dead data layer

Borland Database Engine, DAO / Jet. These have no 64-bit story and no vendor support, so the application cannot simply be rebuilt as 64-bit without replacing its data access.

Do this: Inventory the tables and the code that touches them; this is the part of the port that always runs over.

HIGH Third-party components that cannot be bought or supported

Borland Database Engine, Crystal Reports 8 engine, Crystal Reports runtime, DAO / Jet, VB6 common controls. Each is a dependency with no current vendor, which means no fixes, no licence, and no upgrade path except replacement.

Do this: Price replacement per component, not per application; the components are the real scope.

MEDIUM Commercial component licences carried by the application

DevExpress VCL. Any rebuild needs the same licences renewed, and any rewrite has to replace the behaviour they provide.

Do this: Get a renewal quote now; it is a fixed cost that belongs in the business case.

MEDIUM Size of the surface to port

37 forms and 39 units across 2 project file(s). Every form is a screen someone has to reproduce, and every unit is code someone has to decide about.

Do this: Triage forms by usage (which screens are opened daily) before deciding what gets rebuilt versus retired.

The two exits, priced as floors

Recompile: buy a current Delphi or migrate the VB6 code to .NET, replace the dead components and the data layer, keep the forms. Roughly 23–42 days. Rewrite: rebuild the screens that are actually used on a web stack, retire the rest. Roughly 30–52 days, and it removes the component licences entirely.
Both are planning floors: they exclude data migration, testing, training and the decision about which screens nobody opens any more.

What the source tree cannot see

No source tree shows what the application is actually used for, how many people use each screen, which DLLs were installed by hand and never checked in, or what the database looks like after twenty years. Ask for one week of usage per screen, the install script, and a copy of the production database — those three decide the real number.