Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 605791
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 13, 20262026-05-13T17:11:03+00:00 2026-05-13T17:11:03+00:00

What is the right way to handle exceptions thrown from inside a DLL in

  • 0

What is the right way to handle exceptions thrown from inside a DLL in Delphi?

Something like this

on E : ESomeException do ...

or

if (E is ESomeException) then ...

fails, because of the separate type registries of the DLL and the main application.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-13T17:11:04+00:00Added an answer on May 13, 2026 at 5:11 pm

    For pure DLL’s exceptions are not allowed to cross the DLL boundary (like Deltics mentions) – no matter what language.

    You get all sorts of trouble there, especially because you don’t know which language, RTL, memory manager, etc, is on each side of the boundary.

    So you are back to the classic error handling paradigm:

    • error codes (similar to HResult)
    • error messages (similar to GetLastError)

    Instead of DLL’s, you could use BPL packages (as Lars suggested): there you know that both sides will use the same RTL and memory manager.

    Both packages and BPL usually give you a versioning nightmare anyway (too many degrees of freedom).

    A more rigorous solution is to go for a monolithic executable; this solves both problems:

    • much easier versioning
    • guaranteed only one RTL and memory manager

    –jeroen

    PS: I’ve made this an additional answer because that allows for easier pasting of links.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I don't know if this is the right way to phrase the question or
What's the right way to handle missing arguments in a shell script? Is there
What is the right way to populate the model for the index page in
What is the right way to perform some static finallization? There is no static
I know it's probably not the right way to structure a database but does
Please note - I am not looking for the right way to open/read a
That's basically the question, is there a right way to implement operator<< ? Reading
I'm generating titles out of a few other fields, and want the right way
How can I do the following in C#? What is the right way to
Right now I'm trying to figure out a way to do things smarter, and

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.