Intégration de .NET et polymorphisme
Stagiaire WDF
Inscrit:
24/09/2008 11:43
Post(s): 1
Dans le cadre d'un de mes projets, j'utilise le composant .NET Zedgraph, qui permet de générer des graphes de toute sorte.

Quand j'ai développé mon projet, tout fonctionnait parfaitement. L'appel aux fonctions .NET fonctionne très bien, et je génère les graphes dans des PNG, que j'affiche ensuite dans des champs Image.

Lors du déploiement de l'application sur les postes des utilisateurs, une erreur survient constamment à la génération du graphe. Plus précisément lors de l'exécution de ce code :

oGraphe est un GraphPane dynamique
oBitmap est un Bitmap dynamique
oGraphics est un Graphics dynamique

oBitmap = new Bitmap(1, 1) // Exception lancée ici
oGraphics = Graphics::FromImage(oBitmap)
oGraphe:AxisChange(oGraphics)
oGraphe:GetImage():Save(sFichierImage, ImageFormat::Png)


Une exception .NET est lancée, indiquant qu'un élément de type System.Int32 ne peut être converti vers le type System.IO.Stream.

En gros, au lieu d'utiliser le constructeur Bitmap(Int32, Int32), c'est Bitmap(Stream) qui est appelé .

Le reste du code utilise également des fonctions possédant plusieurs appels différents, et tout fonctionne nickel, sauf ça.

Tous les postes ont les mêmes versions des frameworks. Et certains fonctionnent, d'autres noms. Que ce soit sous XP ou 2000.

J'ai réussi à m'en sortir en utilisant le code suivant pour créer mon instance de Graphics, mais si quelqu'un a une idée du pourquoi la première ne fonctionnait pas, ce serait cool. J'aime pas bloquer sur des trucs du genre.

oGraphe est un GraphPane dynamique
oImage est un Image dynamique
oGraphics est un Graphics dynamique

oImage = Image::FromFile(fRepExe() + "\blank.png")
oGraphics = Graphics::FromImage(oImage)
oGraphe:AxisChange(oGraphics)
oGraphe:GetImage():Save(sFichierImage, ImageFormat::Png)

Contribution le : 24/09/2008 11:55
Créer un fichier PDF de la contribution Imprimer


Re: Intégration de .NET et polymorphisme
Stagiaire WDF
Inscrit:
11/01/2005 20:08
Post(s): 15
Hello,

as-tu essayé avec :

oBitmap = allouer un Bitmap(1,1)

C'est pareil ?

J'ai déjà eu un problème similaire sur des types complexes et je n'avais pas trouvé de solutions. J'étais pressé alors j'ai fait une DLL pour ce dont j'avais besoin...

Vu que ton exemple est simple, pourrais-tu l'envoyer au support de PCSoft ??
Y'aurait peut-être un correctif à faire...

Bon dev,

Oliv

Contribution le : 01/10/2008 21:44
Créer un fichier PDF de la contribution Imprimer



 Haut   Précédent   Suivant




Enregistrer votre réponse
CompteNom   Mot de passe   Authentification
Message:


Vous ne pouvez pas débuter de nouveaux sujets.
Vous pouvez voir les sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
Visualiser tous les Partenaires...
WinDev, WebDev, WinDev Mobile et HyperFile sont des marques déposées par PCSoft. |  Voter |  Legal |  Contact |   XOOPS 2.0.13.2