2010-02-25 3 views
0

Je me libère de l'erreur d'espace de pile lors de l'exécution de mon projet VB 6.0.Erreur d'exécution: 28 espace de pile insuffisant dans Vb 6.0

Je comprends que l'espace hors pile signifie que quelque chose pousse continuellement des données sur la pile et quand elle est pleine, la pile n'a plus d'espace.

Quelqu'un peut-il aider à corriger cette erreur?

Le problème se produit dans le scénario suivant: J'ai environ 20 Property Get et déclarations contenues dans mon code et ce problème se produit lorsque mon code tente d'attribuer une valeur (disons la propriété 9)

Public Property Get Language() As String 
    Language = m_strLanguage 
End Property 

Public Property Let Language(ByVal strLanguage As String) 
    m_strLanguage = strLanguage 
End Property 

Mon code va dans une boucle récursive.

Répondre

0

Avez-vous une erreur de logique qui provoque une boucle récursive? Avez-vous regardé en arrière la pile d'appels pour voir pourquoi la boucle récursive se produit?

0

Merci pour vos suggestions. Tu avais raison . J'ai corrigé le problème et le code fonctionne maintenant correctement.

Le problème était avec la façon dont la propriété Let a été définie: J'ai passé la mauvaise variable qui est maintenant corrigée.

Public Property Let Language(ByVal strLanguage As String) 
    Language = strLanguage 
End Property 

qui a fait le code pour aller une boucle récursive,

Le code est correct:

Public Property Let Language(ByVal strLanguage As String) 
    m_strLanguage= strLanguage 
End Property