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

VB.NET Discussion :

Mémoire protégée sur un 2ème OpenFileDialog


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Octobre 2008
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 28
    Par défaut Mémoire protégée sur un 2ème OpenFileDialog
    Hello !

    Bon, je poste car je deviens fou...

    J'utilise un OpenFileDialog pour aller chercher un fichier, comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Dim FileName As String
    ...
    If OpenFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
         FileName = OpenFileDialog1.FileName
         ...
    A la première utilisation, aucun problème.
    Mais si je réutilise l'OpenFile (sans quitter le prog), ça plante lamentablement sur une
    Tentative de lecture écriture en mémoire protégée....
    Je me suis dit qu'il fallait vider tout ça avant de réutiliser la fonction mais je n'y parviens pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    OpenFileDialog1.Dispose
    OpenFileDialog1.Reset
    Rien ne marche...

    Et ça ne vient pas du fichier car l'erreur apparaît immédiatement après avoir cliqué sur le bouton appelant le OpenFile.

    Je précise que je suis sur MS VB 2008 Express sous W7 (mais ça faisait pareil sous XP...).

    Si quelqu'un a une idée, moi je suis sec...

    Merci bcp !!!

  2. #2
    Membre émérite
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2007
    Messages
    693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 693
    Par défaut
    Bonjour,

    Une solution simple de contournement est qu'au lieu d'utiliser un openfiledialog déposé en tant que composant sur ta form, tu crées un nouveau openfiledialog par code à chaque appel.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim openDialog as new OpenFileDialog
    ' les options
    if openDialog.ShowDialog() = ...

  3. #3
    Membre averti
    Inscrit en
    Octobre 2008
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 28
    Par défaut
    Merci de ta réponse, mais cela fait pareil...
    C'est fou, le premier coup fonctionne, pas le 2ème.
    J'ai pourtant bien ajouté ta ligne et supprimé le OpenFileDialog sur le Designer.

    J'avais essayé beaucoup de déclarations et il m'avait semblé que c'était le ShowDialog qui posait problème...

  4. #4
    Membre émérite
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2007
    Messages
    693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 693
    Par défaut
    Pas possible fait voir ton code complet !

  5. #5
    Membre averti
    Inscrit en
    Octobre 2008
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 28
    Par défaut
    Je suis désolé, il est énorme, c'est pas que je veux pas le mettre mais je veux pas trop t'embêter non plus... pour l'instant juste la fonction, sachant qu'il se passe pas grand chose avant...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
    Private Sub But_Pil_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles But_Pil.Click
     
            Results.Dispose()
     
            Dim FileName As String
            Dim Extension As String
     
            Cal_SGI = True
     
            'Idem avec ou sans (et objet dans le Designer)
            Dim OpenFileDialog1 As New OpenFileDialog
     
            If OpenFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
                FileName = OpenFileDialog1.FileName
                Extension = New System.IO.FileInfo(FileName).Extension
                If Extension <> ".sgi" And Extension <> ".rgb" Then
                    MsgBox("It's not a sgi image file!")
                    Ecrire_Fichier_Log("It's not a SGI/RGB image file!")
                    Exit Sub
                Else            
                    Results.Show()
                End If
            End If
        End Sub

  6. #6
    Membre averti
    Inscrit en
    Octobre 2008
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 28
    Par défaut
    En isolant la fontion dans un projet simple je n'arrive pas à reproduire, je ne vois pourtant pas ce qui peut perturber un OpenFileDialog, dans Results, qui est affiché à la fin et qui, a priori le perturbe, il n'y a que des affichage divers et pas de réutilisation de OpenFileDialog...

    Je continue à étoffer jusqu'à ce que je reproduise le problème...

    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Tentative de R/W de mémoire protégée
    Par BenjaminLustrement dans le forum C++/CLI
    Réponses: 3
    Dernier message: 29/06/2006, 11h18
  2. "Mémoire insuffisante" sur Win98
    Par slimjoe dans le forum Delphi
    Réponses: 14
    Dernier message: 22/06/2006, 19h47
  3. Mémoire installée sur pc distant
    Par systeme1 dans le forum API, COM et SDKs
    Réponses: 2
    Dernier message: 30/11/2005, 13h04
  4. [Gestion mémoire] SetLength sur TDoubleDynArray
    Par MD Software dans le forum Langage
    Réponses: 14
    Dernier message: 24/04/2005, 21h11
  5. Manque de mémoire virtuelle sur Win2000 pro
    Par annedjomo dans le forum Windows Serveur
    Réponses: 7
    Dernier message: 02/03/2005, 10h16

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