IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Pb object graphics


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 62
    Par défaut Pb object graphics
    Salut,

    j'ai un petit problème sur un programme qui doit simuler une agence banquaire.
    En console le projet marche bien, je gère l'arrivée de mes personnes avec des listener.

    Lorsque je souhaite afficher graphiquement mes bonhomme sur mon interface j'ai des soucis. J'ai fais plusieurs classes différentes pour gérer l'affichage des différents éléments (gugus, guichets, file d'attente). Chacune de ces classes prennent le meme objet Graphics en paramètres.Dans la classe gugus j'ai une méthode pour que le gugus se dessine a une certaine position (cette méthode peut être appelée soit dans la file d'attente à l'arrivée d'une gugus, soit par un guichet quand le gugus passe au guichet).

    Cependant j'ai un problème car lorsque je lance mon simulateur et donc que
    plein de gugus s'affichent partout, mon programme explose en me disant "L'objet est actuellement utilisé ailleurs.", en me pointant la ligne suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    this.g.DrawImage(Image.FromFile(Settings.StringConstantes.stickmanFileName), this.position.X, this.position.Y);
    Quelqu'un à une idée?

  2. #2
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 197
    Par défaut
    si tu es utilises plusieurs thread c'est normal

    tu peux utiliser un bufferedgraphics aussi, c'est conseillé
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 62
    Par défaut
    oui j'ai plusieurs threads entre autre dans mes classes "métiers" pour générer mes gugus. Ensuite mes classes "graphique" sont abonnés au listener de chaque classe métier.

    utiliser une bufferedgraphices réglera mon pb ?

  4. #4
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 197
    Par défaut
    pas ce problème là, mais peut etre d'autres ^^


    le multithreading est pratique, dans certains essentiel, mais il reste très risqué
    exemple, si un thread faire un for each sur une collection, et qu'un autre thread fait .Add sur la collection, ca plante
    la classe bitmap est pas non plus très contente d'être sollicitée de partout, une image ne peut être lue que par un thread en même temps je crois

    pour sécuriser du multithreading, il y a des solutions, par exemple mettre utiliser synclock, m'enfin ca se réfléchit en globalité pour développer en pensant aux soucis que ca peut poser

    il est aussi possible de déporter certains morceaux de traitement dont l'affichage sur le thread principal (avec des délégués et this.invoke)
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 62
    Par défaut
    ok je pense effectivement que mon problème vienne de l'image, pcq en faites mes gugus, ce sont des images qui se déplacent ...

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 62
    Par défaut
    J'ai essayer a la place d'afficher une image (DrawImage), de faire un DrawString, mais le programme exploser au même moment

Discussions similaires

  1. object graphics - Qualité
    Par morkitu dans le forum VB.NET
    Réponses: 11
    Dernier message: 14/01/2013, 18h27
  2. [Graphic] Dessiner des hachures
    Par sylverspoon dans le forum 2D
    Réponses: 7
    Dernier message: 22/03/2006, 21h46
  3. Réponses: 8
    Dernier message: 21/11/2003, 18h38
  4. Comment inserer des donnee de type Large Object !!
    Par josoft dans le forum Requêtes
    Réponses: 4
    Dernier message: 20/07/2003, 11h21
  5. Direct Graphics
    Par Blustuff dans le forum DirectX
    Réponses: 9
    Dernier message: 28/10/2002, 04h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo