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 :

Problème avec tampon


Sujet :

VB 6 et antérieur

  1. #1
    Membre confirmé
    Inscrit en
    Juillet 2006
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 55
    Par défaut Problème avec tampon
    Voila, j'ai un gros problème avec la mise en place d'un tampon pour stocker des caractère, mais quand je lance l'aplication, elle plante sans message d'erreur, voila le code, si quelqu'un peut m'aider, merci d'avance!!

    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
    Const REG_MULTI_SZ As Long = 7
    Const BUFFER_SIZE As Long = 255:aie:
    Dim Handle As Long
    Dim DonneesValeur As String
    Dim NBCaratères As Long
    Dim Test As Long
    If RegOpenKeyEx(HKEY_LOCAL_MACHINE, "HARDWARE\DESCRIPTION\system", 0, KEY_ALL_ACCESS, Handle) = 0 Then
     
     NomValeur = Space(BUFFER_SIZE):aie:
     NBCaratères = BUFFER_SIZE:aie:
     
    Test = RegQueryValueEx(Handle, "SystemBiosVersion", 0, REG_MULTI_SZ, DonneesValeur, NBCaratères)
    MsgBox ("Votre version du Bios est: " & DonneesValeur)
    RegCloseKey (Handle)
    End If

  2. #2
    Membre Expert
    Avatar de Delbeke
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 675
    Détails du profil
    Informations personnelles :
    Âge : 71
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Par défaut
    Heu, tu es sur qu'il s'agit bien de code vb5/6, ca n'y ressemble pas(c'est quoi ces aie ?), peut être du vb.net, auquel cas tu n'est ppas dans le bon forum

    En regle générale il faut initialiser les variables string avant de les utiliser comme argument pour un appel a des Api
    Exemple :
    Mavalueur = string(255,0)

  3. #3
    Membre confirmé
    Inscrit en
    Juillet 2006
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 55
    Par défaut
    c'est bien du vb6, mais j'utilise une api windows "advapi32.dll", c'est pour sa que s'est un peut bizare

  4. #4
    Membre Expert
    Avatar de Delbeke
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 675
    Détails du profil
    Informations personnelles :
    Âge : 71
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Par défaut
    Voila ton code corrigé

    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
     
    Option Explicit
    Const HKEY_LOCAL_MACHINE = &H80000002
    Const REG_MULTI_SZ = 7
    Const BUFFER_SIZE = 255
    Const READ_CONTROL = &H20000
    Const KEY_QUERY_VALUE = &H1
    Const KEY_SET_VALUE = &H2
    Const KEY_CREATE_SUB_KEY = &H4
    Const KEY_ENUMERATE_SUB_KEYS = &H8
    Const KEY_NOTIFY = &H10
    Const KEY_CREATE_LINK = &H20
    Const KEY_READ = KEY_QUERY_VALUE + KEY_ENUMERATE_SUB_KEYS + KEY_NOTIFY + READ_CONTROL
    Const KEY_WRITE = KEY_SET_VALUE + KEY_CREATE_SUB_KEY + READ_CONTROL
    Const KEY_EXECUTE = KEY_READ
    Const KEY_ALL_ACCESS = KEY_QUERY_VALUE + KEY_SET_VALUE + _
                           KEY_CREATE_SUB_KEY + KEY_ENUMERATE_SUB_KEYS + _
                           KEY_NOTIFY + KEY_CREATE_LINK + READ_CONTROL
     
    Private Declare Function RegCloseKey Lib "advapi32" (ByVal hKey As Long) As Long
    Private Declare Function RegOpenKeyEx Lib "advapi32" Alias "RegOpenKeyExA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal ulOptions As Long, ByVal samDesired As Long, ByRef phkResult As Long) As Long
    Private Declare Function RegQueryValueEx Lib "advapi32" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, ByRef lpType As Long, ByVal lpData As String, ByRef lpcbData As Long) As Long
     
    Private Sub Command1_Click()
      Dim Handle As Long
      Dim DonneesValeur As String
      Dim NBCaratères As Long
      Dim Test As Long
      If RegOpenKeyEx(HKEY_LOCAL_MACHINE, "HARDWARE\DESCRIPTION\system", 0, KEY_ALL_ACCESS, Handle) = 0 Then
        DonneesValeur = Space(BUFFER_SIZE)
        NBCaratères = BUFFER_SIZE
        Test = RegQueryValueEx(Handle, "SystemBiosVersion", 0, REG_MULTI_SZ, DonneesValeur, NBCaratères)
        MsgBox ("Votre version du Bios est: " & DonneesValeur)
        RegCloseKey (Handle)
      End If
    End Sub
    Ta variable NomValeur etait initialisé, mais tu en as utilisé une autre : DonneesValeur dans l'apel de la fonction
    Je conseille de commencer tous tes programme par un Option Explicit qui oblige vb a vérifier que toute variable utilisé a bien été dimensionnée. Ca evite ce genre de bévue

  5. #5
    Membre confirmé
    Inscrit en
    Juillet 2006
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 55
    Par défaut
    merci pour l'aide rapide

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

Discussions similaires

  1. VC++ Direct3D8, problème avec LPD3DXFONT et LPD3DTEXTURE8
    Par Magus (Dave) dans le forum DirectX
    Réponses: 3
    Dernier message: 03/08/2002, 11h10
  2. Problème avec [b]struct[/b]
    Par Bouziane Abderraouf dans le forum CORBA
    Réponses: 2
    Dernier message: 17/07/2002, 10h25
  3. Problème avec le type 'Corba::Any_out'
    Par Steven dans le forum CORBA
    Réponses: 2
    Dernier message: 14/07/2002, 18h48
  4. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 16h10

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