Link to home
Start Free TrialLog in
Avatar of Abdulatif AL ABDOU
Abdulatif AL ABDOU

asked on

DeveExpress Skins list in dxRibbonSkins is empty... GdiPlus may be missing!

I am using devexpress component in a delphi program; now i want to make a dll which contains a function whick call the main window in the program!

after making the dll, i called it from C++QT; I got this exception
User generated image
Which means that ( list index is out of bounds )

I searched for this message and i used madExcept for getting the stackcall... i found that the list of skins in dxRibbonSkins is empty...
When i tried to see why it is empty... i found a condition in the function which loads skins. The condition is:
if not CheckGdiPlus(True) then Exit;

So, we do not load the skins if we do not find the GdiPlus.dll....

But When i search the GdiPlus.dll, I find it on Windows / System32!!

This is my 10th day on the same problem!

** Any one has any idea?

Note: I searche on the devexpresss forum, but i did not find any topic related!

Thanks in advance for your answers
Avatar of Nicolas Lecanu
Nicolas Lecanu
Flag of Guadeloupe image

Bonjour Abdulatif,

Ces messages d'erreurs DLL peuvent se produire pendant l'installation d'un programme alors qu'un autre programme associé à gdiplus.dll (p ex. May 2012 Security Release ISO Image) est en cours d'exécution, au démarrage ou à l'arrêt de Windows, ou même durant l'installation du système d'exploitation Windows. Noter le moment et l'emplacement de l'erreur de gdiplus.dll servira comme indication pour résoudre le problème.

Parfois, les erreurs du fichier gdiplus.dll sont associées à des problèmes dans le registre de Windows. Les références brisées d'un fichier DLL peuvent empêcher l'inscription correcte de votre fichier DLL, ce qui va vous générer l'erreur gdiplus.dll. Ces clés de registre rompues peuvent être causées par un fichier manquant ou déplacé ou par une référence à un fichier DLL qui subsiste dans la base de registre de Windows après une installation ou une désinstallation ratée.

Avez-vous déjà essayé de le désinstallé et le réinstallé ?
If your app requires specific dll (like gdiplus) - put it in the same folder (where app is). Gdiplus is not something special....
And depend how you build app - as  32 or 64 bit. Check if your app is 64 bit - then gdiplus should be 64 bit version too. Same as 32-bit.
are you sure that's why the error is thrown ?
calling any stringlist without items will cause that error ...

var s: TStrings;
begin
  s := TStringlist.create;
  try
   ShowMessage(s.items[0]);

Open in new window


it's not because you use a dll, or devexpress that you can't still create buggy code
Avatar of Abdulatif AL ABDOU
Abdulatif AL ABDOU

ASKER

Thank you for yours answers;

Sinisa Vuk: I copied all the DLL dependencies on the same bin folder of my app; I've just find that error appear because the list of skins loaded in the component DevExpress is Empty. When I looked for knowing why, i found a condition which exit the function of loading skins if it did not find the GdiPlus.dll; but it is exist! even i tested GdiPlus 32 bits and 64 bits.

Geert G: Sure, any call for empty list will generate the same error; (Out of bounds); but here i identify the list which is empty; << list of skins loaded in the component DevExpress>>

Nicolas Lecanu: Merci pour ta réponse; mais le programme c'est moi qui le fais, ce n'est pas un programme extérieur pour l'installer ou désinstaller; L'idée est simple: Lors que j'appelle un programme delphi (Encapsuler en DLL), la liste de thèmes n'est pas chargée. Je ne sais pas encore pourquoi exactement mais je pense parce-que le programme n'arrive pas à charger la DLL GdiPlus...
Can be solved by not using DevExpress, better with FMX which can be more visual than native vcl.
Another ... is to contact DevExpress and request for help/patch.
Sinisa Vuk: Yes sure; Now after knowing the source of the problem, i can solve it by not using Devexpress or like you said by contacting DevExpress; I've just forced the addition of skin, and that worked... but the load automatic of skins still not working... Thank you.
This question needs an answer!
Become an EE member today
7 DAY FREE TRIAL
Members can start a 7-Day Free trial then enjoy unlimited access to the platform.
View membership options
or
Learn why we charge membership fees
We get it - no one likes a content blocker. Take one extra minute and find out why we block content.