windows - Delphi App Communicates with Program That Ends Up Crashing Occasionally - Vendor Blames My Delphi App -


I have written a Delphi DLL which communicates with a third party program through COM. Some users report that the third party program sometimes crashes. Other people using the software in a similar fashion have never experienced an accident when this accident occurs, the third party program is only for my DLL app Is not available in

The seller swears how Delphi DLL is coded, although they have not seen the source code and can not tell what the DLL is doing to cause the accident, but they know That's it "something".

Apart from the fact that I believe that the third party program should not crash, there is some minor problem in my DLL, suppose that there is a need for some fixing in my DLL.

How can I decide how my app can generate this? Does anyone have the experience of communicating through COM with such hyper-sensitive programs? Are there some common things that can crash third party programs?

  1. Make the customer happy. Assume that this is not your dll, it may even be that if " has never experienced an accident using the software in other similar software", it It may be that with different statistics, it does different things ...
  2. Suggest that you are entering a text file in a "special" diagnostic version.
  3. Log everything, your parameters, exceptions and those steps through which you are going, probably every beginning and end of the function, and every other line.

How can this look ...

  MyFunction1 with loaded DLL parameters: 1,4, hello 1 2 ... 500 end MyFunction1  

To do this, I set up some functions (in my unit):

// opens a text file (fixed name) Is, and adds to it. InitializeLog function; // closed file function closelog; // Add a log line function log (message: string = '', startup function: boolean: incorrect);

You call it this way:

  function myFunction1 (integer, integer, string); Try the log ('loaded DLL'); // Console some strings to obtain intotostr and parameter logs ('MyFunction1 with parameters: start: 1,4, hello', true); // Then every second line: log; // It increases a global variable function: integer // and write it in the file. Except on E: Exceptions (Log ('***' + E. Messaging)); End; End; 

P>


Comments

Popular posts from this blog

c++ - Linux and clipboard -

What is expire header and how to achive them in ASP.NET and PHP? -

sql server - How can I determine which of my SQL 2005 statistics are unused? -