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 6 et antérieur Discussion :

VB6 - Problème de compilation avec un Objet - Run-Time Error 91


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 8
    Par défaut VB6 - Problème de compilation avec un Objet - Run-Time Error 91
    Voici ce qu'il ce passe quand j'essaie de compiler:
    Il y a une erreur impossible à régler qui m'affiche
    "Run-Time Error 91

    Object variable or With block variable not set"
    Quand j'essaie, dans une forme, de faire ce genre de manip:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Dim Affichage As String
    Dim Prout As Single
        For t = 0 To 19
            For u = 0 To 19
            If u = 0 Then Affichage = ""
            Prout = Perceptron.GetPoids(Int(u), Int(t))
            Affichage = Affichage & "--" & Prout
            Next
        PrintCons Affichage
        Next
    End If
    L'objet en question (module de classe de nom TPerceptron) est le suivant:

    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    'Cette classe est en fait une description d'un Perceptron
    Dim Poids(19, 19) As Single
    Dim ActPoids(19, 19) As Boolean
     
    Public Seuil As Single
     
     
     
    Public Function CalcWeight() As Single
    'Ici cette fonction ce chargera de faire l'addition des poids (uniquement ceux des capteurs acitvés
    'Une possible amélioration se fera pour les poids inactivé ( les poids les plus importans, si inactivés, seront en fait des inhibiteurs
     
    End Function
     
    Public Function CheckSeuil() As Boolean
    'Cette fonction, à partir du calcul des poids, va renvoyer une réponse positive/négative sur la
    End Function
    Public Sub CorrectWeights(IsCorrect As Boolean)
    'SI la réponse proposée par le neurone est bonne (renforcement des positions)
    If IsCorrect = True Then
     
    For i = 0 To 19
    For e = 0 To 19
    If ActPixel(i, e) = True And ActPoids(i, e) = True Then
    'modification du poids positive
    End If
    If ActPixel(i, e) = False And ActPoids(i, e) = False Then
    'modification du poids négative
    End If
    Next
    Next
    End If
     
    'Si la réponse proposée par le neurone est fausse (correction!)
    If IsCorrect = False Then
    For i = 0 To 19
    For e = 0 To 19
    Next
    Next
    End If
     
    End Sub
     
    '/////////////////////////////////////////////
     
    Public Property Let SetPoids(ByVal Value As Integer, X As Integer, Y As Integer)
    'Affectation d'une nouvelle valeur
        Poids(X, Y) = Value
    End Property
     
    Public Property Get GetPoids(X, Y) As Single
    'Lecture de la valeur
        GetPoids = Poids(X, Y)
    End Property
    Je n'arrive pas à trouver le problème!
    Expliquer moi ce que je dois modifier, et n'hésitez pas à demander des précisions sur mon code, j'en donnerai le plus possible.

    Merci d'avance

  2. #2
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    Salut,

    sur quelle ligne l'erreur ?

    l'objet Perceptron tu le déclare ou et comment ?

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 8
    Par défaut
    Hum, tout d'abord encore merci de s'intéresser à mon problème.
    Ensuite:
    - Je le déclare dans l'unique module de mon projet, avec un banal:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Public Perceptron As TPerceptron
    -VB m'affiche l'erreur sur la ligne avec "affichage = affichage & "--" & Perceptr...."

    Bonne chance pour la résolution

  4. #4
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 132
    Par défaut
    VB m'affiche l'erreur sur la ligne avec "affichage = affichage & "--" & Perceptr...."
    Curieux car tu solicites Perceptron.GetPoids une ligne avant et le message d'erreur correspond/vise l'objet de ta classe.
    Je ferai comme cela pour une utilisation dans un Form
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Option Explicit
    ' Variable faisant réference à la classe
    Dim Perceptron As New TPerceptron
     
    Private Sub Form_Load()
    'Initialisation de la classe
    Set Perceptron = New TPerceptron
    End Sub
     
    Private Sub Form_Unload(Cancel As Integer)
    ' Libération de la classe à la fermeture du formulaire
    If Not Perceptron Is Nothing Then Set Perceptron = Nothing
    End Sub
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 8
    Par défaut
    Merci!
    Et d'ailleurs je m'étais trompé...c'était sur le message ou j'assignais la valeur GetPoids dans la variable Prout que ca a beugué.

    Mais la déclaration avec explicit au dessu (d'ailleurs ca veut dire quoi ça? ) je la mets ou?
    Quelle en sera sa portée?

    EDIT: c'est bon! Ca marche! Merci beacoup!

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

Discussions similaires

  1. Problème de compilation avec Borland : Direct Draw
    Par Burckel dans le forum Autres éditeurs
    Réponses: 2
    Dernier message: 26/09/2005, 18h17
  2. Problème de compilation avec Direct Input
    Par di-giac dans le forum DirectX
    Réponses: 6
    Dernier message: 06/05/2005, 18h19
  3. [MFC] Problème de compilation avec afxctl.h
    Par mick74 dans le forum MFC
    Réponses: 7
    Dernier message: 15/06/2004, 13h51
  4. Problème de compilation avec Dev-C++
    Par Rouliann dans le forum Dev-C++
    Réponses: 14
    Dernier message: 14/06/2004, 18h44
  5. Réponses: 1
    Dernier message: 29/10/2003, 12h16

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