Fix 0Xc000007B Error: The Application Was Unable To Start Correctly

I have a client/server ứng dụng which I have been developing on a single PC. Now it needs two serial ports, so I borrowed a PC from a friend.

Bạn đang xem: Fix 0xc000007b error: the application was unable to start correctly

When I build my app and try to run or debug it (whether in the Delphi IDE or from Windows tệp tin manager), it errors "The application was unable khổng lồ start correctly (0xc000007b)".

Googling doesn"t bring up much, but seems khổng lồ indicate that this is nothing Delphi specific & happens with other apps. It seems lớn be caused by calling into a 32 bit DLL from a 64 bit phầm mềm or vice versa.

both PCs are Windows 7, 64 bitboth have Delphi Xe2 starter edition which can only handle 32 bitsThe tiện ích runs fine on my PC, but not on my friend"sOther Delphi apps run just fine on both PCs

Can anyone give me a hint as to lớn how to lớn track this down?


windows delphi 64-bit
chia sẻ
Follow
edited Dec 8 "16 at 11:05
Mawg says reinstate Monica
asked May 8 "12 at 3:08
*

Mawg says reinstate MonicaMawg says reinstate Monica
35.9k9393 gold badges288288 silver badges522522 bronze badges
7
| Show 2 more comments

19 Answers 19


Active Oldest Votes
138
To start, I would suggest to thử nghiệm whether there is a problem between your application and its dependencies using dependency walker


cốt truyện
Follow
answered May 8 "12 at 5:38
*

moxmox
5,81422 gold badges2121 silver badges3232 bronze badges
9
| Show 4 more comments
56
A load time dependency could not be resolved. The easiest way to debug this is khổng lồ use Dependency Walker. Use the Profile option khổng lồ get diagnostics output đầu ra of the load process. This will identify the point of failure và should guide you to lớn a solution.

The most common cause of this error is trying lớn load a 64 bit DLL into a 32 bit process, or vice versa.


chia sẻ
Follow
edited May 8 "12 at 8:06
answered May 8 "12 at 7:09
*

David HeffernanDavid Heffernan
581k4040 gold badges10031003 silver badges14201420 bronze badges
1
địa chỉ a comment |
12
It is a missing dll.Possibly, your dll that works with com ports have an unresolved dll dependence. You can use dependency walker and windows debugger. Kiểm tra all of the mfc library, for example. Also, you can use nrCommlib - it is great components khổng lồ work with com ports.


giới thiệu
Follow
answered May 8 "12 at 11:58
*

Alex.kononovAlex.kononov
12122 bronze badges
showroom a phản hồi |
12
I tried all the things specified here và found yet another answer. I had lớn compile my application with 32-bit DLLs. I had built the libraries both in 32-bit and 64-bit but had my PATH set to lớn 64-bit libraries. After I recompiled my application (with a number of changes in my code as well) I got this dreaded error and struggled for two days. Finally, after trying a number of other things, I changed my PATH to have the 32-bit DLLs before the 64-bit DLLs (they have the same names). And it worked. I am just adding it here for completeness.


nội dung
Follow
answered Jul 29 "14 at 17:23
*

unxnutunxnut
7,79422 gold badges2424 silver badges3737 bronze badges
địa chỉ cửa hàng a comment |
9
It has been mentioned in earlier answers that using dependency walker is the way to go, in my case (my application keeps failing with the error code), dependency walker showed a few dll that are NOT relevant!

Finally figured out that I can run profiling by going to "profile" menu and it will run the application and stop at the exact dll that"s cause the problem! I found out a 32bit dll was picked because of path & fixed it.

*


giới thiệu
Follow
answered Jul 25 "16 at 20:10
pktCoderpktCoder
1,02711 gold badge1414 silver badges3131 bronze badges
0
địa chỉ cửa hàng a phản hồi |
6
I experienced the same problem developing a client-server phầm mềm using Microsoft Visual Studio 2012.

If you used Visual Studio to lớn develop the app, you must make sure the new (i.e. The computer that the software was not developed on) has the appropriate Microsoft Visual C++ Redistributable Package. By appropriate, you need the right year và bit version (i.e. X86 for 32 bit & x64 for 64 bit) of the Visual C++ Redistributable Package.

Xem thêm: Tải Về Cho Tl - Router Wifi Tp

The Visual C++ Redistributable Packages install run-time components that are required to run C++ applications built using Visual Studio.

Here is a links to the Visual C++ Redistributable for Visual Studio năm ngoái .

You can check what versions are installed by going khổng lồ Control Panel -> Programs -> Programs & Features.

Here"s how I got this error and fixed it:

1) I developed a 32 bit application using Visual Studio 2012 on my computer. Let"s hotline my computer ComputerA.

2) I installed the .exe và the related files on a different computer we"ll hotline ComputerB.

3) On ComputerB, I ran the .exe và got the error message.

4) On ComputerB, I looked at the Programs and Features và didn"t see Visual C++ 2012 Redistributable (x64).

5) On ComputerB, I googled for Visual C++ 2012 Redistributable và selected & installed the x64 version.

6) On ComputerB, I ran the .exe on ComputerB & did not receive the error message.