Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. General Programming
  3. C / C++ / MFC
  4. 0xC0000138: Ordinal Not Found

0xC0000138: Ordinal Not Found

Scheduled Pinned Locked Moved C / C++ / MFC
csharpvisual-studiocomhelp
6 Posts 2 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • E Offline
    E Offline
    eusto
    wrote on last edited by
    #1

    Hi, I'm getting "0xC0000138: Ordinal Not Found" when deploying an executable that uses an ActiveX control on another machine. I have no idea where to start debugging this problem. Basically, what happens is that the visual studio output window displays "Loaded (correct)path_to_ocx file" "First-chance exception at 0x7c964ed1 in project_name.exe: 0xC0000138: Ordinal Not Found." "project_name.exe: Unloaded 'path_to_ocx'" The problem is that this does not happen on the development machine Any kick in the right direction would be a godsend. Thanks

    L 1 Reply Last reply
    0
    • E eusto

      Hi, I'm getting "0xC0000138: Ordinal Not Found" when deploying an executable that uses an ActiveX control on another machine. I have no idea where to start debugging this problem. Basically, what happens is that the visual studio output window displays "Loaded (correct)path_to_ocx file" "First-chance exception at 0x7c964ed1 in project_name.exe: 0xC0000138: Ordinal Not Found." "project_name.exe: Unloaded 'path_to_ocx'" The problem is that this does not happen on the development machine Any kick in the right direction would be a godsend. Thanks

      L Offline
      L Offline
      Lost User
      wrote on last edited by
      #2

      eusto wrote:

      Hi, I'm getting "0xC0000138: Ordinal Not Found"

      As you have probably figured out by now that error essentially means: "I found that DLL you need and I loaded it. But when I walked the export table I could not find one of the functions that you need."

      eusto wrote:

      Any kick in the right direction would be a godsend. Thanks

      I would recommend using Dependency Walker[^] on the target machine to track down the problem. You should open the OCX file and look for missing dependencies. Best Wishes, -David Delaune

      E 1 Reply Last reply
      0
      • L Lost User

        eusto wrote:

        Hi, I'm getting "0xC0000138: Ordinal Not Found"

        As you have probably figured out by now that error essentially means: "I found that DLL you need and I loaded it. But when I walked the export table I could not find one of the functions that you need."

        eusto wrote:

        Any kick in the right direction would be a godsend. Thanks

        I would recommend using Dependency Walker[^] on the target machine to track down the problem. You should open the OCX file and look for missing dependencies. Best Wishes, -David Delaune

        E Offline
        E Offline
        eusto
        wrote on last edited by
        #3

        Thank you for your answer, Dependency Walker is cool, i didn't know about it. Unfortunately, there doesn't seem to be any missing stuff on that ocx. I've contacted the vendor and asked them about it Regards, Eugen

        L 1 Reply Last reply
        0
        • E eusto

          Thank you for your answer, Dependency Walker is cool, i didn't know about it. Unfortunately, there doesn't seem to be any missing stuff on that ocx. I've contacted the vendor and asked them about it Regards, Eugen

          L Offline
          L Offline
          Lost User
          wrote on last edited by
          #4

          Hi Eugen, Did you try the Profiling option in the Dependency Walker system menu? This option should allow you to log everything... including calls to LoadLibrary and GetProcAddress. You should point it at the executable loading the OCX object. Best Wishes, -David Delaune

          E 1 Reply Last reply
          0
          • L Lost User

            Hi Eugen, Did you try the Profiling option in the Dependency Walker system menu? This option should allow you to log everything... including calls to LoadLibrary and GetProcAddress. You should point it at the executable loading the OCX object. Best Wishes, -David Delaune

            E Offline
            E Offline
            eusto
            wrote on last edited by
            #5

            Ok, at this point i'm almost sure this is a vendor issue because recompiling my application on the target machine gets rid of the problem. I'm now betting on a weird licence implementation issue. Thanks again for your help David. Regards, Eugen.

            L 1 Reply Last reply
            0
            • E eusto

              Ok, at this point i'm almost sure this is a vendor issue because recompiling my application on the target machine gets rid of the problem. I'm now betting on a weird licence implementation issue. Thanks again for your help David. Regards, Eugen.

              L Offline
              L Offline
              Lost User
              wrote on last edited by
              #6

              eusto wrote:

              Ok, at this point i'm almost sure this is a vendor issue because recompiling my application on the target machine gets rid of the problem.

              You may be correct. However, what this would imply to me is that the vendor is dynamically linking with CRT/ATL. I would suggest testing on a third target computer and installing the Visual Studio redistributable package that matches your compiler version. Microsoft Visual C++ 2008 Redistributable Package (x86)[^] Microsoft Visual C++ 2005 Redistributable Package (x86)[^] If your asking yourself why the vendor does not static link... its probably because there have been some recent severe ATL security vunerabilities. By dynamic linking... the vendor can rely on Microsoft updates to potentially fix the issue. Active Template Library Security Update for Developers[^] Best Wishes, -David Delaune

              1 Reply Last reply
              0
              Reply
              • Reply as topic
              Log in to reply
              • Oldest to Newest
              • Newest to Oldest
              • Most Votes


              • Login

              • Don't have an account? Register

              • Login or register to search.
              • First post
                Last post
              0
              • Categories
              • Recent
              • Tags
              • Popular
              • World
              • Users
              • Groups