Keep the change and its receiving evidence together.
Use a small application behavior to make the first milestone assessable while the broader backlog is prioritised.
Identify the application that must keep working
List the Delphi compiler and target architecture, VCL or FMX where used, installed components, database drivers and the build machine. An application can depend on packages, printer behavior or DLLs that are absent from its source repository. Put the reproducible build and those dependencies in the first assessment.
Agree what a stale edit is allowed to change
CE18 starts EQ41 at version 3 and EQ42 at version 5. Both edits are staged locally. Another editor advances EQ42 to version 6; the apply attempt leaves EQ41 unchanged and retains both pending edits. Ask the implementation to prove the same business rule against its real data access layer.
Receive a decision rather than an unexplained overwrite
The receiver can keep the staged EQ42 location against version 6 or remove that pending edit and use the shared value. The keep path commits EQ41 at version 4 and EQ42 at version 7. A separate acknowledgement accepts the resulting batch while its held-attempt history remains readable.
Make the shared-record decision visible.
The CE18 demo stages location edits for two workshop assets. A second editor changes EQ42, so the complete batch is held. Keep the intended edit against the refreshed version or retain the current value, then inspect the accepted row results and receiving acknowledgement.
Give the first delivery item a reproducible case.
Try the working-copy exercise and its twenty-case checklist. Use the observed result to agree what your developer must demonstrate in the installed application, including database transaction evidence and the release checkpoint.
Run the cached edit acceptance demo
Stage a pair of asset moves and introduce a concurrent change. The browser exercise keeps the original versions visible, holds a stale batch and offers two explicit resolution choices before receiving its result.
Open the staged-edit workbenchIdentify the Delphi application framework
Embarcadero describes VCL for Windows applications and FMX for cross-platform interfaces. Confirm the framework and supported deployment targets in your own project before estimating a UI or compatibility change.
Primary reference: Delphi product overviewReview the installed database access layer
Embarcadero’s FireDAC overview describes database connectivity, transaction support and differences by edition. Use that reference with your installed components and database version; include required licences and drivers in the application inventory.
Primary reference: FireDAC capabilitiesScope a receiving API separately
If the desktop application calls a backend service, document which side owns the validation and the final write. A backend consultation can define the command contract while the Delphi work covers the operator’s working copy and conflict decision.
Discuss a separate backend contractScope the application, the allocation and the acceptance.
A recurring development arrangement works best when the backlog, technical access and receiving decision are explicit. Prepare the following evidence before requesting the quotation.
Prepare the source and component inventory
Send a sanitized application outline, Delphi version, source ownership, target Windows or other operating system, package list and build instructions. Identify database engines, connection components, reports, external libraries and the person who can reproduce the current release. Describe the highest-priority backlog item.
Agree the recurring commercial scope
Ask Codeblix to assess the requested work and confirm the available allocation. Put capacity, fee basis, start date, collaboration hours, review frequency, extra-work approval and notice terms in the quotation. State whether assessment, coding, QA and release support share one allocation or receive separate estimates.
Specify the staged-edit boundary
For a shared-record screen, record the selected row keys, values originally read, pending fields and concurrency marker. Decide whether the action applies one row or a complete batch. CE18 uses a whole-batch rule: every original version must still match before any pending location is applied.
Reproduce a conflicting change
Stage the two example locations, simulate another editor and attempt the batch. Inspect the zero-write hold and the retained pending rows. Define the real staging test with two authorised sessions, a representative database fixture and evidence that an unaffected row was not partially committed.
Receive the conflict decision and result
Choose whether to keep the intended EQ42 edit against its refreshed version or retain the other editor’s location. Apply the remaining agreed batch and record the checked and resulting versions. For the delivery item, identify who may approve an overwrite and how their decision is recorded.
Close the delivery period with a release checkpoint
Receive the source revision, build steps, tested database fixture, accepted cases and unresolved items. Confirm the deployment owner, recovery copy and support handover. Use the accepted work and next prioritised item to agree the following month’s allocation.
The source, build and migration boundaries
- Record compiler licences, third-party component licences, runtime packages, DLL bitness, installer ownership and test machines. Include access to a reproducible development environment through your normal authorised access process. Share synthetic examples rather than live customer records.
- Agree whether the backlog covers maintenance, a component upgrade, a new screen or a larger migration. Establish current behavior before changing compiler versions, text encodings, database mappings or report output. Include compatibility cases for dates, decimals and printed layouts where the application uses them.
- List external systems by data direction and ownership. A database driver or available library is only part of an integration scope: authentication, field mapping, error handling and receiving checks need an agreed implementation owner. Price changes to other systems explicitly.
The monthly working and support arrangement
- Name the backlog prioritiser and technical receiver. Agree how work is estimated, demonstrated and accepted, and which discovery tasks must finish before a development item starts. Ask the same source and acceptance questions of each provider so the quotations cover comparable responsibilities.
- Specify who builds and deploys the executable, who approves database changes and how the previous release is recovered. Include a staging backup and a separate authorisation for any production data operation. The monthly development scope should identify its release evidence and open defects.
- Confirm working hours, response expectations, escalation contacts and the treatment of urgent requests. Development allocation, hosting and ongoing operational support need clear terms. Set the transfer process for source, documentation, access removal and unfinished backlog when the engagement ends.
Six records for the Delphi delivery brief
Connect the recurring agreement to one reproducible desktop behavior and its technical receiver.
| Record | Example inputs | Required output and control |
|---|---|---|
| Application inventory | Compiler, VCL/FMX, architecture, packages, drivers, source revision and build owner | Reproduce the existing executable and locate each dependency before estimating the change. |
| Monthly allocation | Capacity, priorities, fee basis, review cadence, notice and extra-work approval | Confirm the written engagement terms and the first milestone with Codeblix. |
| Working-copy row | Asset key, original version, original location and staged location | Preserve what the operator originally read while a value is being edited. |
| Shared-record observation | EQ41 v3/North bench; EQ42 v5/West bay; EQ43 v2/Stores | Compare every selected original version with the current shared version before applying the batch. |
| Conflict decision | Held EQ42 v5 versus current v6; keep intended value or use shared value | Require an explicit resolution; retain unaffected pending rows and the other editor’s committed value. |
| Receiving record | Batch identifier, checked/result versions, accepted locations, source and release checkpoint | Receive the accepted rows with the held-attempt history and a technical acknowledgement. |
Stage EQ41 → Dispatch and EQ42 → Stores. Another editor moves EQ42 to North bench at version 6. The first apply attempt holds both rows: EQ41 remains North bench at version 3. Keep the staged EQ42 edit against version 6, then apply the complete batch: EQ41 becomes Dispatch/version 4 and EQ42 becomes Stores/version 7. The receiving screen retains the held attempt and asks for acknowledgement. Alternatively, use the current EQ42 value and commit only EQ41.
Request a quotation against the same application evidence.
These current primary offers cover developer hiring and engagement models. Present your source inventory and first receiving case to establish the responsibilities included in each offer.
| Option | Published focus | Ask in your demo |
|---|---|---|
| Logamic | Delphi candidate selection, onboarding, consultation and contract-period information. | Which build and component checks form part of the allocation, and who receives a concurrent-edit change? |
| UMANG — Hire Delphi Programmer | Dedicated monthly, part-time and time-and-material hiring, with maintenance and upgrade work. | Does the first milestone include a staged-edit conflict case and evidence for the complete database batch? |
| Glorium Technologies | Custom development, application modernisation, team extension and monthly or hourly engagement. | How are the technical receiving decision, release checkpoint and unfinished backlog reflected in the quotation? |
Choose a scope with an assessable first item, a reproducible build and explicit receiving authority. Request allocation and commercial terms directly; the application assessment determines the practical starting point.
Category reference: Embarcadero FireDAC overview. Bring CE18 and its cases into the delivery discussion; agree database and application acceptance against your installed environment.
Connect desktop changes with the rest of the delivery
Give each application boundary its own owner, inputs and acceptance evidence.
Explore marketplace development servicesQuestions for your Delphi development quotation
Settle the commercial and application boundaries before starting a recurring engagement.
What information helps Codeblix assess a monthly Delphi engagement?
Provide the compiler version, target architecture, framework, source ownership, component list, database access details and current build procedure. Describe the priority change and name a technical receiver. A sanitized example and expected result help turn the backlog into an assessable first milestone.
How is the monthly allocation priced?
Request a written quotation after the application and scope review. Agree capacity, included work, start date, fee basis, payment terms and the approval process for extra work. Record any minimum term, notice requirement and renewal decision directly in the engagement terms.
Can the scope focus on an existing desktop application?
Bring the existing code and dependency inventory for assessment. The brief can cover a defined maintenance item, screen change, component update or migration phase. Establish a reproducible build and staging fixture before estimating or accepting a change to established behavior.
What does the staged-edit demo help me decide?
CE18 makes the whole-batch rule observable. Two asset edits stay pending when another editor changes one record. The receiver must choose whether to refresh the intended edit or retain the shared value. Use that case to specify the behavior and database evidence required from the application delivery.
What happens to the unaffected row during a conflict?
In the example, EQ41 is not written when EQ42 has a stale original version. Both pending edits remain available. Keeping the EQ42 edit refreshes only its checked version; choosing the current EQ42 value removes only that pending row. The next apply action validates the remaining complete batch.
How should compiler, component and database changes be handled?
Inventory versions and licences first, then separate each compatibility change into an agreed item. Include affected data types, external libraries, reports and deployment targets in the test evidence. Any database migration needs its own approved scope, recovery copy and receiving checks.
Who handles deployment and ongoing support?
Agree the build owner, release approver, installer or executable delivery, recovery checkpoint and support coverage in the quotation. State how urgent requests use the allocation and how incidents are escalated. Hosting and operational support responsibilities should be explicit alongside development work.
What should the monthly handover include?
Ask for accepted source revisions, build instructions, completed cases, release evidence and a prioritised open-item list. For the first shared-record item, receive the conflict decision and resulting versions. Record the next milestone and confirm continued capacity before the following period.
