Thread: Backwards compatibility

  1. #1
    Registered User
    Join Date
    Jul 2004
    Posts
    35

    Backwards compatibility

    I've written a Windows application in C using Dev-C++. I'm using Windows XP and it works perfectly under Windows XP. When I've tested the application in another computer under Windows 98 I've got an error just right after double clicking the EXE file. Can anyone give me a clue about the cause and how I can fix it?

    Error image

    Thanks in advance.

  2. #2
    Registered User Dante Shamest's Avatar
    Join Date
    Apr 2003
    Posts
    970
    Are you using the StrStr function anywhere in your code?

  3. #3
    Registered User
    Join Date
    Jul 2004
    Posts
    35
    Yes. But in the Platform SDK Documentation says:
    Minimum DLL Version shlwapi.dll version 4.71 or later
    Custom Implementation No
    Header shlwapi.h
    Import library shlwapi.lib
    Minimum operating systems Windows 2000, Windows NT 4.0 with Internet Explorer 4.0, Windows 98, Windows 95 with Internet Explorer 4.0
    Is it wrong?

  4. #4
    Registered User
    Join Date
    Mar 2005
    Posts
    135

    ...

    You're probably using a function(s) that's not supported in old Win98. I suggest you go to the MSDN site and go through every API function in your source code and check and see if it's supported in Win98.

  5. #5
    Registered User
    Join Date
    May 2005
    Posts
    207
    Could it be extended structures like WNDCLASSEX and other things like that?

    mw
    Blucast Corporation

  6. #6
    Yes, my avatar is stolen anonytmouse's Avatar
    Join Date
    Dec 2002
    Posts
    2,544
    The official location of StrStr, etc is shlwapi.dll. However, on some Windows versions, it is also exported from shell32.dll. You have linked against the shell32 export (which is not available on Win9x) rather than the correct shlwapi export. I'm not sure whether this is an issue with the MinGW/Dev-C++ import libraries or can be rectified by changing the link order. Try correcting the link order by making sure that shlwapi is listed before shell32 in the library list. You can explore the imports of your executable with a tool such as the free Dependency Walker. Here is someone else who has experienced the same problem.

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Backwards uint16_t?
    By DavidDobson in forum C Programming
    Replies: 7
    Last Post: 05-11-2009, 09:45 AM
  2. Question about .NET backwards compatibility
    By gunder in forum C# Programming
    Replies: 5
    Last Post: 09-15-2006, 07:08 AM
  3. Compatibility Problems with Dev-C++
    By Razorblade Kiss in forum Tech Board
    Replies: 3
    Last Post: 12-18-2004, 04:15 PM
  4. Taking input and Outputting it backwards
    By whtpirate in forum C Programming
    Replies: 9
    Last Post: 06-08-2003, 10:59 AM
  5. how to print a string backwards
    By Unregistered in forum C# Programming
    Replies: 2
    Last Post: 01-27-2002, 01:04 PM