?
Solved

How to encase an external function from a dcu-file?

Posted on 2003-10-26
3
Medium Priority
?
204 Views
Last Modified: 2010-04-05
Hello !
I`m working with d5. In my app i'm using a function from an external dcu-file. I don't have the source of this file. Sometimes this function runs (inside) in an endless loop and my app`s loosing the control...
Are there any possibilities to encase this function to get the exception from inside it? Constructs like "try...function-call...finally..." don't help - Sometimes it stops IN the function :-((
Are there any other solutions?
Best regards,
Ingo

BTW: 165 points are all i have ;-)
0
Comment
Question by:Ogni
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
3 Comments
 
LVL 17

Accepted Solution

by:
geobul earned 660 total points
ID: 9625673
Hi,

If that function raises an exception then use:

try
  function call
except
  // do something here - error ocured
end;

If it sometimes runs an endless loop then perhaps running the function in a thread could be a solution (your program won't stop at least).

type
  TRunThread = class(TThread)
  public
    procedure Execute; override;
  end;

procedure TRunThread.Execute;
begin
  try
    function call;
  except
    // do something here - error ocured
  end;
end;

// usage
...
with TRunThread.Create(true) do begin         // create the thread but don't start it now...
    FreeOnTerminate := true; // set it to free itself at end
    Resume; // run it
end;
...

Regards, Geo
0
 

Author Comment

by:Ogni
ID: 9626019
Hi Geo !
Thanks a lot !!!
Best regards,
Ingo
0
 
LVL 17

Expert Comment

by:geobul
ID: 9626688
You are welcome :-)
0

Featured Post

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

A lot of questions regard threads in Delphi.   One of the more specific questions is how to show progress of the thread.   Updating a progressbar from inside a thread is a mistake. A solution to this would be to send a synchronized message to the…
The uses clause is one of those things that just tends to grow and grow. Most of the time this is in the main form, as it's from this form that all others are called. If you have a big application (including many forms), the uses clause in the in…
Michael from AdRem Software explains how to view the most utilized and worst performing nodes in your network, by accessing the Top Charts view in NetCrunch network monitor (https://www.adremsoft.com/). Top Charts is a view in which you can set seve…
Sometimes it takes a new vantage point, apart from our everyday security practices, to truly see our Active Directory (AD) vulnerabilities. We get used to implementing the same techniques and checking the same areas for a breach. This pattern can re…
Suggested Courses
Course of the Month8 days, 14 hours left to enroll

765 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question