Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Catalog · How the catalog works

Random project

IPCFramework4D

View on GitHub

Anyone may press Interesting, signed in or not. It helps others find this project.

Member rating

No ratings yet.

Sign in to rate this project.

README

IPCFramework4D

IPCFramework4D currently centers on BitBridge, a Delphi migration framework for applications that need to move to 64-bit while still using legacy 32-bit DLL functionality.

BitBridge keeps legacy 32-bit code in a separate 32-bit host process and lets a 64-bit Delphi application call it through a controlled IPC bridge.

Why BitBridge Exists

Many Delphi systems still depend on older vendor DLLs or internal libraries that only exist as 32-bit binaries. A 64-bit process cannot load those DLLs directly.

BitBridge provides a practical migration path:

  • keep the legacy DLL isolated in a 32-bit host
  • call it from a 64-bit application through a stable client API
  • wrap legacy operations behind typed Delphi classes
  • migrate one bounded slice at a time instead of rewriting everything at once

High-Level Architecture

text
64-bit Delphi application
    |
    v
BitBridge client / typed wrapper
    |
    v
Named-pipe IPC
    |
    v
BitBridge 32-bit host
    |
    v
Legacy 32-bit DLL or Delphi handler

The application should normally talk to a typed wrapper. Raw command names and transport details should stay inside the integration layer.

Recommended Usage

Use BitBridge when:

  • your main application must run as 64-bit
  • a required dependency is still 32-bit
  • the dependency can safely run out of process
  • you want a gradual migration path with support visibility

The recommended adoption pattern is:

  1. Choose one small legacy workflow.
  2. Keep the existing 32-bit wrapper code inside the proxy host.
  3. Expose only the operations the 64-bit app needs.
  4. Add a typed 64-bit facade around those operations.
  5. Verify the slice with smoke tests and operational checks.
  6. Expand only after the first slice is stable.

Repository Layout

Key entry points:

Production Documentation

The retained documentation is intentionally focused:

Operational Surface

BitBridge includes built-in administrative commands for common support scenarios:

  • host identity and capabilities
  • health checks
  • diagnostics
  • request status and request history
  • cooperative request cancellation

For details, see BitBridge/docs/ADMIN_ENDPOINTS.md.

Error Handling

Client code should treat BitBridge calls as remote calls. Log request IDs, handle documented error codes, and use the admin endpoints when diagnosing repeated failures.

For the stable public error codes, see BitBridge/docs/ERROR_CODES.md.

Current Direction

BitBridge is intended for deliberate, production-minded migration work. The best results come from small integration slices, typed wrappers, and clear support visibility.

Do not expose raw command strings throughout application code, and do not use the bridge as a reason to migrate every legacy export at once.

License

See LICENSE.


Delphi

Made with :heart: in Delphi