Can not start XnViewMP 0.48

*** Please report new bugs here! ***

Moderators: XnTriq, helmut, xnview, Dreamer

Post Reply
Jarda
Posts: 22
Joined: Sat Jun 14, 2008 4:41 pm

Can not start XnViewMP 0.48

Post by Jarda »

Hello, I try to test the 0.48 release on my Windows 2000 SP4 system but I can not run the app (unlike the 0.39 version). Is there a serious reason to drop Windows 2000 support between version 0.39 and 0.48?
User avatar
budz45
XnThusiast
Posts: 1621
Joined: Sun Jun 03, 2007 6:05 pm
Location: UK

Re: Can not start XnViewMP 0.48

Post by budz45 »

Jarda wrote:Is there a serious reason to drop Windows 2000 support between version 0.39 and 0.48?
I don't think support for Win2000 has been dropped, it sounds like you have program run error which I am sure will get fixed :) If MP 0.39 ran on Win2000 then 0.48+higher should do the exact same too, let's wait until the developer responds.
All My Topics || my 'MP' Topics
My own Bookmarked topics--->for me only
User avatar
XnTriq
Moderator & Librarian
Posts: 6339
Joined: Sun Sep 25, 2005 3:00 am
Location: Ref Desk

Re: Can not start XnViewMP 0.48

Post by XnTriq »

[color=green]xnview.exe[/color] wrote:The ordinal 727 could not be located in the dynamic link library shell32.dll.
:bugconfirmed: XnView MP v0.48 @ Windows 2K SP4
Laurent Cozic ([url=http://code.google.com/p/appetizer/source/browse/branches/QtVersion/utils/IconUtil.cpp][color=green]IconUtil.cpp[/color][/url]) wrote:

Code: Select all

// Note: certain functions, like SHGetImageList don't exist in Windows 2000,
// so we need to load them dynamically, otherwise we get this error and the app doesn't start:
// "The ordinal 737 could not be located in the dynamic link library Shell32.dll"

HINSTANCE shell32Library_ = LoadLibrary(_T("SHELL32.DLL"));
SHGetImageListType SHGetImageListFunction_ = (SHGetImageListType)GetProcAddress(shell32Library_, "SHGetImageList");
Developer's Blog ([url=http://blog.yezhucn.com/shellcc/shgetimagelist.htm]SHGetImageList Function ()[/url]) wrote:SHGetImageList is not exported by name from Shell32.dll. Use LoadLibrary to load Shell32.dll and GetProcAddress to access SHGetImageList at ordinal 727.

The IImageList pointer type, such as that returned in ppv, can be cast as an HIMAGELIST as needed, for example for use in a list view. Reciprocally, an HIMAGELIST can be cast as a pointer to an IImageList.
vbAccelerator ([url=http://www.vbaccelerator.com/home/NET/Code/Libraries/Shell_Projects/SysImageList/article.asp]System Image List[/url] » Dr. Jeckyll and Dr. Jeckyll) wrote:The SystemImageList class provided with the download has two distinct personalities depending on which OS you're running on.

Under Windows XP, the Shell gains a new function for obtaining the System Image List, SHGetImageList. Well, it would if someone had built the DLL properly - for some reason they forgot to export this function by name, and therefore it is only available by the mysterious ordinal #727 (see KB article Q316931 for more details). In any case this function returns a COM IImageList interface to the ImageList. Under previous versions, the System Image List is obtained by a call to SHGetFileInfo which returns a handle to a ComCtl32.DLL ImageList which can be used with the standard exported ImageList_ API calls.

The advantage of the new XP function is that it provides access to the Extra Large Image List used for in the Tile and Thumbnail views of the Shell. So the code decides based on the System.Environment.OSVersion.Version which way to get at the ImageList. Once that's decided the only real difference between the COM ImageList interface and the standard DLL call version is that with the COM versions calls do not need you to tell it which ImageList handle you're working on, as the handle is the IUnknown pointer to the object.
SuperC142 (Tablet PC Review Forums » [url=http://forum.tabletpcreview.com/hp-touchsmart-tm2-wacom/34077-must-have-software-tm2-2.html#post194057]MUST-HAVE software for TM2[/url]) wrote:I wanted a really good, lean, touch-friendly launcher app. HP's little TouchSmart launcher is ok, but it doesn't have categories so it's not really practical for me (and, honestly, those enormous icons are a bit obnoxious IMO). So, I just started to develop my own. To do this though, I need to extract the high-resolution icons from EXEs and DLLs. I'm shocked at how incredibly difficult this has turned out to be (for me, at least). You can't simply call the ExtractIconEx or SHGetFileInfo APIs because they only return a 16x16 icon and a 32x32 icon. Instead, you need to call the SHGetImageList API (as far as I can tell, there's no other way). Microsoft accidently forgot to export it by name so you have to invoke it using its ordinal (727). This has a lot of painful implications!
User avatar
XnTriq
Moderator & Librarian
Posts: 6339
Joined: Sun Sep 25, 2005 3:00 am
Location: Ref Desk

Re: Can not start XnViewMP 0.48

Post by XnTriq »

For me, this is fixed in XnViewMP 0.50.
Jarda
Posts: 22
Joined: Sat Jun 14, 2008 4:41 pm

Re: Can not start XnViewMP 0.48

Post by Jarda »

Yes, 0.49 and 0.50 can be started on Windows 2000. Unfortunately, these versions crash each time I try change image folder from the browser :(
User avatar
xnview
Author of XnView
Posts: 43595
Joined: Mon Oct 13, 2003 7:31 am
Location: France
Contact:

Re: Can not start XnViewMP 0.48

Post by xnview »

Jarda wrote:Yes, 0.49 and 0.50 can be started on Windows 2000. Unfortunately, these versions crash each time I try change image folder from the browser :(
Do you have png in your folder?
Pierre.
User avatar
XnTriq
Moderator & Librarian
Posts: 6339
Joined: Sun Sep 25, 2005 3:00 am
Location: Ref Desk

Re: Can not start XnViewMP 0.48

Post by XnTriq »

Jarda wrote:Unfortunately, these versions crash each time I try change image folder from the browser :(
A fix is in the works:
xnview ([url=http://newsgroup.xnview.com/viewtopic.php?p=104042#p104042]0.50 & PNG[/url]) wrote:There is bug with PNG in XnView 1.99, XnViewMP 0.50 & XnConvert 1.20
Can occurs when you view quickly PNG files, or if you change opened folder (with png)...

I'll upload fix version soon...
Post Reply