1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

Plugin dilemma

Discussion in 'Plugins' started by vefatica, Nov 28, 2012.

  1. vefatica

    Joined:
    May 20, 2008
    Messages:
    7,777
    Likes Received:
    29
    I have a recent build of my SYSUTILS plugin which works fine under WIN7. When I try it with the same TCC (14.03.51) on Win XP/SP3, I get this message from TCC at startup time.
    Code:
    TCC: (Sys) The specified procedure could not be found
    "D:\tc14\Plugins\SysUtils.dll"
    Rex, do you have any idea how that could happen? Is there a way I can figure out what procedure can't be found? Thanks.
     
  2. Charles Dye

    Charles Dye Super Moderator
    Staff Member

    Joined:
    May 20, 2008
    Messages:
    3,277
    Likes Received:
    38
    I would guess you're calling some new Windows API that doesn't exist in XP. A program like Dependency Walker might help in tracking it down (website seems to be down right now?) but I'll bet you can figure it out just by reviewing you recent changes and looking at any calls you make to unusual API functions.
     
  3. vefatica

    Joined:
    May 20, 2008
    Messages:
    7,777
    Likes Received:
    29
    In a way, yes. But it was a little more complicated than that. After digging an old (XP) machine out of a closet, transfering data between two machines on a thumb drive, and considerable detective work, I found that with VC10 you get (for example), by default, a dependence on Kernel32.dll!KE32EnumProcessModules when you refer to "EnumProcessModules". In XP, that functionality is provided by Psapi.dll!EnumProcessModules. Getting something that works (so far) on both platforms was a matter of a preprocessor definition "PSAPI_VERSION=1". That forces the old behavior (which is available on Win7). Rex is apparently aware of this since TakeCmd.dll is importing Psapi.dll!EnumProcessModules and not Kernel32.dll!KE32EnumProcessModules (and one or two other affected functions).
     

Share This Page