Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Report Listener and Gdiplus.dll
Message
From
13/12/2006 08:50:03
 
General information
Forum:
Visual FoxPro
Category:
Reports & Report designer
Environment versions
Visual FoxPro:
VFP 9 SP1
Miscellaneous
Thread ID:
01176873
Message ID:
01177131
Views:
11
>>Sorry, I misread the help file. This, to me, makes no sense. If all GDI dlls are registered in the registry, I fail to see how Foxpro will actually find the correct one without using an explicit path.
>
>Hi Mike,
>
>The GDIPLUS.DLL is not a COM DLL. It cannot be registered.
>VFP loads a GDIPLUS.DLL on startup. My guess is, if path is not specified it uses the one already loaded.
>Check http://blogs.msdn.com/calvin_hsia/archive/2006/04/27/585305.aspx for some related info.

Hi Mike and Sergey,

I've found an interesting article from Richard Grimes, http://www.ddj.com/dept/windows/184416698 , where he says:

The GDI+ library is contained in a DLL called "GdiPlus.dll," and it's provided with XP as part of the operating system. Normally, a system library is located in the %systemroot%\System32 folder because LoadLibrary automatically searches this folder for system libraries... However, this universal dumping ground approach has caused all kinds of problems in the past, particularly when more than one version of a library is available. XP has native support for multiple versions of libraries through side-by-side installation and manifest files. XP calls such shared libraries "assemblies,"... they are native code DLLs that are located and loaded using an extended version of the Windows DLL loader. A manifest file is an XML file that contains versioning information about the library, and an application can also have a manifest file to indicate the version of the libraries that it expects.

When a side-by-side shared library is installed on XP, Windows Installer will store the library in a folder in the side-by-side assembly cache: %systemroot%\WinSxS. The subfolder is named according to the version of the library, so different versions of the same library are available on the machine. For example, my XP machine has service pack 1 installed, which included a new version of GdiPlus.dll, so there are two versions of this DLL with the following file versions as seen through the properties dialog in Windows Explorer:
5.1.3097.0 (xpclient.010817-1148)
5.1.3101.0 (xpsp1.020828-1920)
The first file is GDI+ Version 1.0.0.0, the second file is GDI+ Version 1.0.10.0.

When XP loads an application, it examines the manifest file provided with the application to determine the version of GDI+ that the application requires. If the manifest or the version information is not available, XP will load the latest version of the library from the side-by-side assembly cache.




But I still want to know:
What version of GDIplus.dll does VFP use by default ?
VFP seems to make some confusions during the use of GDI+.
I say that because in all my tests, if I leave only one version of gdiplus.dll in my machine, NO MATTER the version, all runs fine.
The problem occurs when there are more than one version at the same time... :-(((

Thanks again for your answers

Regards

Cesar
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform