Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

rendre le format GUID lisible par du C ANSI

2 réponses
Avatar
giova
Bonjours, toujours sur ma dll qui sert d'interface pour rendre
gdiplus.dll exploitable en C ANSI. j'ai un petit probleme non bloquant
mais bien c...t .

gdiplus fournis avec XP est du coup plutot orienté visual. seulement ma
dll ne sera pas utilisée dans visual !

certaines fonctions necessitent des parametres de type GUID
et ca m'embeterai de devoir faire une fonction de convertion car ca
rallentisserait considerablement le temps d'execution de mon programme.

d'ou ma question : existe t'il une librairie en C ANSI definissant le
type GUID ?

quelques details supplementaires : la fonction Save() de GdiPlus attends
entre autre comme parametre le GUID du codec a utiliser, or
l'application cible devra des fois sauver plusieurs milliers d'images.
Si cette librairie n'existe pas, ca voudra dire que pour chaque
sauvegarde d'image je devrais faire une convertion.

2 réponses

Avatar
adebaene
giova wrote in message news:<40922941$0$17613$...
Bonjours, toujours sur ma dll qui sert d'interface pour rendre
gdiplus.dll exploitable en C ANSI.



Arf! Est-ce que tu réalises que GDI+ est une librairie C++ fournie
sous forme de header qui n'est rien d'autre qu'un wrapper objet autour
d'une... librairie en C ANSI! Cherches dans la doc du côté de "GDI+
Flat API" plutôt que de réinventer la roue...

gdiplus fournis avec XP est du coup plutot orienté visual. seulement ma
dll ne sera pas utilisée dans visual !

certaines fonctions necessitent des parametres de type GUID
et ca m'embeterai de devoir faire une fonction de convertion car ca
rallentisserait considerablement le temps d'execution de mon programme



Avant de crier au ralentissement "considérable", tu as fait des
mesures? Manipuler de temps à autres un malheureux nombre sur 128 bits
ne devrait pas faire peur à ton processeur...


d'ou ma question : existe t'il une librairie en C ANSI definissant le
type GUID ?


Un GUID EST compatible avec le C ANSI. La définition des GUID est dans
rpcdde.h :

typedef struct _GUID {
DWORD Data1;
WORD Data2;
WORD Data3;
BYTE Data4[8];
} GUID;


quelques details supplementaires : la fonction Save() de GdiPlus attends
entre autre comme parametre le GUID du codec a utiliser, or
l'application cible devra des fois sauver plusieurs milliers d'images.
Si cette librairie n'existe pas, ca voudra dire que pour chaque
sauvegarde d'image je devrais faire une convertion.



Bah non, une fois seulement. Toutes tes images utiliserons le même
codec non?

Arnaud
MVP - VC
Avatar
giova
Arnaud Debaene wrote:
giova wrote in message news:<40922941$0$17613$...

Bonjours, toujours sur ma dll qui sert d'interface pour rendre
gdiplus.dll exploitable en C ANSI.




Arf! Est-ce que tu réalises que GDI+ est une librairie C++ fournie
sous forme de header qui n'est rien d'autre qu'un wrapper objet autour
d'une... librairie en C ANSI! Cherches dans la doc du côté de "GDI+
Flat API" plutôt que de réinventer la roue...




Merci je vais regarder ca. En fait je ne fais que répondre a ce que me
demande mon "patron" je viens de finir une formation C++ ou j'ai juste
apris le language traditionnel (donc pas les MFC, API windows) et ai eu
une disons "presentation" de la STL. Actuellement je suis en stage, et
le moins qu'on puisse dire c'est je suis totalement livré a moi meme.

Lui m'a demandé de faire une DLL (chose que je n'avais pas vu lors de la
formation) pour utiliser certaines fonctionnalités de GDI+ sous CVI (IDE
dédié a l'industrie utilisant un compilateur C ANSI), dans un sens ca
m'apprends pleins de choses alors pourquoi pas !



gdiplus fournis avec XP est du coup plutot orienté visual. seulement ma
dll ne sera pas utilisée dans visual !

certaines fonctions necessitent des parametres de type GUID
et ca m'embeterai de devoir faire une fonction de convertion car ca
rallentisserait considerablement le temps d'execution de mon programme




Avant de crier au ralentissement "considérable", tu as fait des
mesures? Manipuler de temps à autres un malheureux nombre sur 128 bits
ne devrait pas faire peur à ton processeur...





Je ne peux pas savoir sur quel pc tournera la dll qui sait ca pourrait
tres bien tourner sur un P133 ! c'est dédié a de la production
industrielle (récupérations d'images d'une camera en bout de chaine de
production par exemple) donc j'essaye de tout prevoir memes les pires
conditions d'exploitation.

d'ou ma question : existe t'il une librairie en C ANSI definissant le
type GUID ?



Un GUID EST compatible avec le C ANSI. La définition des GUID est dans
rpcdde.h :

typedef struct _GUID {
DWORD Data1;
WORD Data2;
WORD Data3;
BYTE Data4[8];
} GUID;





Merci encore, je vais voir ca.


quelques details supplementaires : la fonction Save() de GdiPlus attends
entre autre comme parametre le GUID du codec a utiliser, or
l'application cible devra des fois sauver plusieurs milliers d'images.
Si cette librairie n'existe pas, ca voudra dire que pour chaque
sauvegarde d'image je devrais faire une convertion.




Bah non, une fois seulement. Toutes tes images utiliserons le même
codec non?




Oui a priori ca parrait logique, mais il m'a été demandé de faire une
dll la moins dépendante possible, ce n'est pas une DLL pour une
application precise, mais une "boite a outils" pouvant etre utilisé par
des applications tres diverses. Donc pourquoi pas une appli travaillant
sur des milliers d'images que l'on ne souhaite pas toutes encoder avec
le meme codec , ou je ne sais quoi encore, bref j'essaye de prevoir tous
les cas de figure possibles.

Arnaud
MVP - VC