[wxPython-users] Re: Platform<=>version conflict or what?

Robin Dunn robin at alldunn.com
Wed May 23 14:42:50 PDT 2007


Jorma Paavola wrote:
> Robin Dunn kirjoitti:
> 
>>>
>>> I ran my TestGUI also on win98-environment with "Dependency Walker" 
>>> and got similar warnings:
>>>>
>>>>> GetProcAddress(0x7C570000 [KERNEL32.DLL], "FlsAlloc") called from 
>>>>> "MSVCR71.DLL" at address 0x7C341950 and returned NULL. Error: The 
>>>>> specified procedure could not be found (127).
>>>>> GetProcAddress(0x7C570000 [KERNEL32.DLL], "FlsGetValue") called 
>>>>> from "MSVCR71.DLL" at address 0x7C34195D and returned NULL. Error: 
>>>>> The specified procedure could not be found (127).
>>>>> GetProcAddress(0x7C570000 [KERNEL32.DLL], "FlsSetValue") called 
>>>>> from "MSVCR71.DLL" at address 0x7C34196A and returned NULL. Error: 
>>>>> The specified procedure could not be found (127).
>>>>> GetProcAddress(0x7C570000 [KERNEL32.DLL], "FlsFree") called from 
>>>>> "MSVCR71.DLL" at address 0x7C341977 and returned NULL. Error: The 
>>>>> specified procedure could not be found (127)
>>>>> GetProcAddress(0x7C570000 [KERNEL32.DLL], "IsTNT") called from 
>>>>> "OLEAUT32.DLL" at address 0x77A23F12 and returned NULL. Error: The 
>>>>> specified procedure could not be found (127). 
>>>
>>> Also one missing file was claimed (as on Win2k): "APPHELP.DLL" 
>>> (TestGui ran OK in despite of that!)
>>
>> These are harmless.  The GetProcAddress is how the MS DLL is 
>> dynamically testing at runtime if certain functionality is available 
>> on the system in other DLLs so it can work around it being missing if 
>> needed.  Same thing with the missing DLL, they are loaded dynamically 
>> on demand at runtime, but if they are never needed (because the 
>> functions using them are never called) then they are never loaded and 
>> so there is no problem.  All of this happens inside the MS DLLs and is 
>> completely hidden from us at the Python level.
>>
>>
> 
> Hi Robin,
> 
> So in other words the error messages above are somehow misleading, when 
> these are merely only indications of features of running OS tested on.
> 
> I describe the whole trace of missing "APPHELP.dll" given:
> - missing delay-loaded module
> - time stamp: Error opening file. The system cannot find the file 
> specified(2).
> 
> If I understood you correct this file became to the list due the actions 
> generated by MS (Win2k or Win98)?
> This sounds strange for me, because "APPHELP.dll" is not the part of the 
> said OS´s (belongs to Xp). So how can the running OS know to check the 
> availability of the module, which is not part of it ?

When the DLL is compiled it is linked with APPHELP.dll using flags 
telling it to be delay-loaded, which means that it won't be loaded 
unless one of the functions located within it is called.  If the 
functions are never called (and they won't be on win98) then there is no 
problem.  If you've installed any other software that was made in the 
last several years then I bet that you've already got a few copies of 
MSVCRT.dll already on the system.


> 
> Third point - the missing checksum of modules:
>> WXBASE28H_NET_VC.DLL
>> WXBASE28H_VC.DLL
>> WXMSW28H_ADV_VC.DLL
>> WXMSW28H_ADV_VC.DLL
>> WXMSW28H_HTML_VC.DLL
> Link checksum of modules is 0x00000000 (Real checksums are calculated 
> and given) and Actual Base(on red) is also different compared with 
> Preferred Base ?
> Is this also related to somehow to Win OS's ?

No, it's just build options that we aren't using.


-- 
Robin Dunn
Software Craftsman
http://wxPython.org  Java give you jitters?  Relax with wxPython!





More information about the wxpython-users mailing list