July 30th, 2003, 10:10 AM
compatilbility issue: Borland C++ Builder5-->6
I have been using Borland C++ Builder version 5 for creating a DLL, which needs to be implemented into an application. The DLL compiled by C++ Builder 5 works fine. Now, I started to use version 6.
I encountered difficulties due to compatibility issues between version 5 and 6. The DLL can now not be found by the application. As recommended, I created a new C++ project with the original source files, and compiled it with no errors. When employing the DLL, the application can still not find the DLL entry, although it looks into the correct folder, where the DLL is stored. The DLL is used by an ArcGIS (by ESRI) application.
My question is: Does anybody know of any changes concerning DLL creation or compilation that have been made in Borland C++ Builder version 6? (Or reasons why a DLL can not be recognised by an application, but has been before?)
I would appreciate any idea or solution.
Thanks a lot,
July 30th, 2003, 11:33 AM
Re: compatilbility issue: Borland C++ Builder5-->6
I do not know the answer to your problem. But I have a couple of questions.
1. Did you create a new project and include the source files from the old project? Or did you open the old v.5 project using v.6 and allow it to convert the project?
2. Is the machine you tested the ESRI program on the same as your development machine? Or are they seperate machines?
3. What are the sizes of the v.5 and v.6 DLLs?
What I'm trying to figure out is if there's a possibility your v.5 was statically linking a necessary file while your v.6 was dynamically linking it because of a project setting. In this case, the v.6 would not work if a required file that was present on the development machine was missing from the test machine.
July 30th, 2003, 12:00 PM
1. Thanks for looking at my problem.
2. I did create a new v.6 project and placed the source files
afterwards into the project.
3. I am just using one PC.
4. Size of v.5 is 316KB. Then I tried to convert the v.5 project in
Borland Builder v.6. As result , the dll could not be found by the
application (size of that v.6 DLL is 495 KB).
After I created and compiled a new v.6 project (see 2.) the DLL
has the size of 144 KB, which does not make any difference in
terms of recognising the DLL compared to the first try.
If it is that what you mean, then the application might at least find the DLL and brings a different error like missing a another file or so. I can not understand why the application does not recognise the DLL as DLL?