none
The ordinal 345 could not be located in the dynamic link libarary COMCTL32.dll

    Question

  • Hi all,

    After I converted my application from VS2008 .Net 3.5 to VS2010 .Net 4.0, I got error message in the title when running application. There is not error reported durning convertion. Please advice.

    Best Regards,

    • Moved by Figo Fei Tuesday, May 04, 2010 5:42 AM (From:Getting Started With Visual Studio Team System)
    Monday, May 03, 2010 4:30 PM

Answers

  • The most logical approach, to me, would be to determine what function is the one you are trying to use from comctl32.dll.  Then look up updated documentation to determine if ordinal 345 continues to be the correct ordinal number.  If it should, then maybe you have a corrupt DLL.  If it changed, then update your code.

    If you did not explicitly code the use of function with ordinal 345, then it is one of the .Net components that is trying to use that.  In this case, try repairing the OS installation, or the .Net installation, or try Windows Update.  If nothing works, reinstall Windows.


    MCP
    • Marked as answer by eryang Friday, May 21, 2010 7:33 AM
    Tuesday, May 04, 2010 5:59 PM
  • 2. Try to attach native debugger to get the call stack when the error pops up (use MS symbol server to get correct symbols). From the callstack you will hopefully see which component tries to use the wrong ordinal.

    -Karel

    • Marked as answer by eryang Friday, May 21, 2010 7:33 AM
    Tuesday, May 04, 2010 6:06 PM

All replies

  • Hi Andy

    .NET 4.0 and .NET 3.5 have different version of CLR core. Through the error message the problem looks related to COM interop problem.

    I'm not sure what component the application depends on, you may consult CLR forum for better suggestions.

    Moved to CLR forum.

    Thanks.


    Figo Fei
    MSDN Subscriber Support in Forum
    If you have any feedback on our support, please contact msdnmg@microsoft.com 


    Please remember to mark the replies as answers if they help and unmark them if they provide no help.
    Tuesday, May 04, 2010 5:42 AM
  • 1. Is your application in C#, VB or C++ (native or managed C++)?
    2. Did you try to run it under debugger? Post call stack when this happens.

    -Karel

    Tuesday, May 04, 2010 3:59 PM
  • 1. Yes, it is C# application

    2. I ran debug and there is nothing in the call stack. Error message pop up right after this method executed.

    Application.Run(new MainForm());

    Tuesday, May 04, 2010 4:44 PM
  • The most logical approach, to me, would be to determine what function is the one you are trying to use from comctl32.dll.  Then look up updated documentation to determine if ordinal 345 continues to be the correct ordinal number.  If it should, then maybe you have a corrupt DLL.  If it changed, then update your code.

    If you did not explicitly code the use of function with ordinal 345, then it is one of the .Net components that is trying to use that.  In this case, try repairing the OS installation, or the .Net installation, or try Windows Update.  If nothing works, reinstall Windows.


    MCP
    • Marked as answer by eryang Friday, May 21, 2010 7:33 AM
    Tuesday, May 04, 2010 5:59 PM
  • 2. Try to attach native debugger to get the call stack when the error pops up (use MS symbol server to get correct symbols). From the callstack you will hopefully see which component tries to use the wrong ordinal.

    -Karel

    • Marked as answer by eryang Friday, May 21, 2010 7:33 AM
    Tuesday, May 04, 2010 6:06 PM
  • Hi AndyPham,

    How about the issue status? please feel free to let us know if you have any concern.


    Sincerely,
    Eric
    MSDN Subscriber Support in Forum
    If you have any feedback of our support, please contact msdnmg@microsoft.com.
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.
    Welcome to the All-In-One Code Framework! If you have any feedback, please tell us.
    Friday, May 07, 2010 12:00 AM