Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : (pas une question, une pitite info) : Run-time exception thrown : System.AccessViolationException - Tentative de lecture ou d'écriture de mémoire protégée. Cela indique souvent qu'une autre mémoire est endommagée. [ Divers / General ] (Polack77)

mardi 9 septembre 2008 à 17:15:26 | (pas une question, une pitite info) : Run-time exception thrown : System.AccessViolationException - Tentative de lecture ou d'écriture de mémoire protégée. Cela indique souvent qu'une autre mémoire est endommagée.

Polack77

Bonjour ,

Je développe un logiciel qui doit (entre autre) exécuté un ".cmd" et attendre sa mort.

J'ai rencontré un problème (qui m'a bloqué presque deux heure pour une connerie) :
"Run-time exception thrown : System.AccessViolationException - Tentative de lecture ou d'écriture de mémoire protégée. Cela indique souvent qu'une autre mémoire est endommagée."

Cette erreur se corrige TRÈS facilement (quand on sait comment )

Il faut tout simplement déclarer les variable utilisé dans les API en Int32 et non pas en Long (l'info n'es pas dans MSDN , ou je ne l'es pas trouvé )


Aller en prime mon titi module en cadeau

Module ModuleShell
    '------------------------------------------------------------------------------
    'Objectif :
    ' Gérer les taches à exécuté
    'Liste des fonctions public et résumé :
    '   - Contain_ID_Tache : Test si l'ID_Tache existe dans la collection
    '   - ExecuteTache : Exécute une tache (exe, bat, cmd, ...) et retourne le ProssessID
    '   - ExecuteTacheAttendMort : Exécute une tache et attend sa mort pour quitter la fonction
    '   - TacheEnCours (sur défini) : Test si un processus est actif (en mémoire)
    '   - TueTache (sur défini) : Tue une tache en exécution (en mémoire)
    '   - RetrouveProssessID : Retourne le ProssessID de la tache nommé
    '
    ' Fait le : 09/09/2008
    ' Fait par Waurzuczka Vincent (Polack77)
    ' Version 1.0
    '------------------------------------------------------------------------------

    Private Declare Sub Sleep Lib "kernel32" Alias "Sleep" (ByVal dwMilliseconds As Int32)
    Private Declare Function TerminateProcess Lib "kernel32" (ByVal hProcess As Int32, ByVal uExitCode As Int32) As Int32
    Private Declare Function OpenProcessToken Lib "advapi32.dll" (ByVal ProcessHandle As Int32, ByVal DesiredAccess As Int32, ByVal TokenHandle As Int32) As Int32
    Private Declare Function OpenProcess Lib "Kernel32.dll" (ByVal dwDesiredAccess As Int32, ByVal bInheritHandle As Int32, ByVal dwProcessID As Int32) As Int32
    Private Declare Function GetExitCodeProcess Lib "kernel32" (ByVal hProcess As Int32, ByRef lpExitCode As Int32) As Int32

    Private ListeTache As New System.Collections.Generic.Dictionary(Of String, Long)

    Private Const CoIn32_DelaisAttenteEntreTestMort As Int32 = 1000

    '------------------------------------------------------------------------------
    'Objectif :
    'Test si l'ID_Tache existe dans la collection
    ' Input :
    '   ID_Tache = Un nom de tache en toute lettre
    ' Output
    '   Boolean = Vrais si l'ID_Tache existe dans la collection faux si non
    ' Fait le : 09/09/2008
    ' Fait par Waurzuczka Vincent (Polack77)
    ' Version 1.0
    '------------------------------------------------------------------------------
    Public Function Contain_ID_Tache(ByVal ID_Tache As String) As Boolean
        Return ListeTache.ContainsKey(ID_Tache)
    End Function

    '------------------------------------------------------------------------------
    'Objectif :
    'Exécute une tache et retourne le ProssessID
    ' Input :
    '   FichierExecutable : Chemin complet de la tache à exécuté
    '   ID_Tache (optionnel) : Nom à stocké pour retrouver le ProssessID
    ' Output
    '   Long = Le ProssessID de la tache ou 0 si erreur (fichier exécutable non trouvé)
    ' Fait le : 09/09/2008
    ' Fait par Waurzuczka Vincent (Polack77)
    ' Version 1.0
    '------------------------------------------------------------------------------
    Public Function ExecuteTache(ByVal FichierExecutable As String, Optional ByVal ID_Tache As String = Nothing) As Long
        Dim ProssessID As Int32
        Try
            ProssessID = Shell(FichierExecutable)
            If ID_Tache IsNot Nothing Then
                ListeTache.Add(ID_Tache, ProssessID)
            End If
            Return ProssessID
        Catch ex As Exception
            Return 0
        End Try
    End Function

    '------------------------------------------------------------------------------
    'Objectif :
    'Exécute une tache et attend sa mort pour quitter la fonction
    ' Input :
    '   FichierExecutable : Chemin complet de la tache à exécuté
    ' Output
    '   Boolean = Vrais si pas de problème faux si non (fichier exécutable non trouvé)
    ' Fait le : 09/09/2008
    ' Fait par Waurzuczka Vincent (Polack77)
    ' Version 1.0
    '------------------------------------------------------------------------------
    Public Function ExecuteTacheAttendMort(ByVal FichierExecutable As String) As Boolean
        Dim ProssessID As Long
        ProssessID = ExecuteTache(FichierExecutable)
        If ProssessID <> 0 Then
            While TacheEnCours(ProssessID)
                Sleep(CoIn32_DelaisAttenteEntreTestMort)
                Application.DoEvents()
            End While
            Return True
        Else
            Return False
        End If
    End Function

    '------------------------------------------------------------------------------
    'Objectif :
    'Test si la tache passé en paramètre est active (en mémoire)
    ' Input :
    '   ID_Tache : Nom de la tache (nom passé à ExecuteTache)
    ' Output
    '   Boolean : Vrais si la tache est en cours Faux si non
    '             Si la tache n'est plus en cours elle est supprimer de la collection
    '             Si le nom de la tache n'existe pas dans la collection retourne Faux
    ' Fait le : 09/09/2008
    ' Fait par Waurzuczka Vincent (Polack77)
    ' Version 1.0
    '------------------------------------------------------------------------------
    Public Function TacheEnCours(ByVal ID_Tache As String) As Boolean
        If ListeTache.ContainsKey(ID_Tache) Then
            If TacheEnCours(ListeTache(ID_Tache)) Then
                Return True
            Else
                ListeTache.Remove(ID_Tache)
                Return False
            End If
        Else
            Return False
        End If
    End Function

    '------------------------------------------------------------------------------
    'Objectif :
    'Test si la tache passé en paramètre est active (en mémoire)
    ' Input :
    '   ProssessID : Le ProssessID à tester
    ' Output
    '   Boolean : Vrais si la tache est en cours Faux si non
    ' Fait le : 09/09/2008
    ' Fait par Waurzuczka Vincent (Polack77)
    ' Version 1.0
    '------------------------------------------------------------------------------
    Public Function TacheEnCours(ByVal ProssessID As Long) As Boolean
        Dim lExitCode As Int32
        GetExitCodeProcess(OpenProcess(&H1F0FFF, 0&, ProssessID), lExitCode)
        Return (lExitCode = &H103&)
    End Function

    '------------------------------------------------------------------------------
    'Objectif :
    'Tue la tache passé en paramétre
    ' Input :
    '   ID_Tache : Nom de la tache (nom passé à ExecuteTache)
    ' Output
    '   Boolean : Vrais si la tache à été correctement tuée
    '             Si la tache n'est plus en cours elle est supprimer de la collection
    '             Si le nom de la tache n'existe pas dans la collection retourne Faux
    ' Fait le : 09/09/2008
    ' Fait par Waurzuczka Vincent (Polack77)
    ' Version 1.0
    '------------------------------------------------------------------------------
    Public Function TueTache(ByVal ID_Tache As String) As Boolean
        If ListeTache.ContainsKey(ID_Tache) Then
            If TueTache(ListeTache(ID_Tache)) Then
                ListeTache.Remove(ID_Tache)
                Return True
            Else
                Return False
            End If
        Else
            Return False
        End If
    End Function

    '------------------------------------------------------------------------------
    'Objectif :
    'Tue la tache passé en paramètre
    ' Input :
    '   ProssessID : Le ProssessID à tué
    ' Output
    '   Boolean : Vrais si la tache à été correctement tuée ou si elle étais déjà morte
    '             Faux en cas d'erreur (normalement n'arrive jamais)
    ' Fait le : 09/09/2008
    ' Fait par Waurzuczka Vincent (Polack77)
    ' Version 1.0
    '------------------------------------------------------------------------------
    Public Function TueTache(ByVal ProssessID As Long) As Boolean
        Try
            If TacheEnCours(ProssessID) Then
                Dim lngHwndProcess As Long
                lngHwndProcess = OpenProcess(&H1F0FFF, 0&, ProssessID)
                TerminateProcess(lngHwndProcess, 0&)
            End If
            Return True
        Catch ex As Exception
            Return False
        End Try
    End Function

    '------------------------------------------------------------------------------
    'Objectif :
    'Retourne le ProssessID de la tache nommé
    ' Input :
    '   ID_Tache : Nom de la tache (nom passé à ExecuteTache)
    ' Output
    '   Long : Le ProssessID de la tache ou 0 si elle n'existe pas dans la collection
    ' Fait le : 09/09/2008
    ' Fait par Waurzyczka Vincent (Polack77)
    ' Version 1.0
    '------------------------------------------------------------------------------
    Public Function RetrouveProssessID(ByVal ID_Tache As String) As Long
        If ListeTache.ContainsKey(ID_Tache) Then
            Return ListeTache(ID_Tache)
        Else
            Return 0
        End If
    End Function
End Module




PS :
Je poste ce message pour que si d'autre rencontre se problème ils sachent le corigé rapidement.
Vous pouvez bien entendu utilisé les fonctions présentes dans ce message. Mais merci de ne pas supprimer les entêtes de fonctions et de module.

Bonne prog

Amicalement
Pensez "Réponse acceptée"


mardi 9 septembre 2008 à 17:16:48 | Re : (pas une question, une pitite info) : Run-time exception thrown : System.AccessViolationException - Tentative de lecture ou d'écriture de mémoire protégée. Cela indique souvent qu'une autre mémoire est endommagée.

Polack77

Tien on ne peut plus acceptée le premier message ?!?!

Amicalement
Pensez "Réponse acceptée"


mardi 9 septembre 2008 à 17:28:59 | Re : (pas une question, une pitite info) : Run-time exception thrown : System.AccessViolationException - Tentative de lecture ou d'écriture de mémoire protégée. Cela indique souvent qu'une autre mémoire est endommagée.

Polack77

Réponse acceptée !
Déjà une Maj

Un oublie DZL (ajout des fonctions AttendMort)


Module ModuleShell
    '------------------------------------------------------------------------------
    'Objectif :
    ' Gérer les taches à exécuté
    'Liste des fonctions public et résumé :
    '   - Contain_ID_Tache : Test si l'ID_Tache existe dans la collection
    '   - ExecuteTache : Exécute une tache (exe, bat, cmd, ...) et retourne le ProssessID
    '   - ExecuteTacheAttendMort : Exécute une tache et attend sa mort pour quitter la fonction
    '   - TacheEnCours (sur défini) : Test si un processus est actif (en mémoire)
    '   - TueTache (sur défini) : Tue une tache en exécution (en mémoire)
    '   - RetrouveProssessID : Retourne le ProssessID de la tache nommé
    '   - AttendMort (sur défini) : Attend la mort d'une tache
    '
    ' Fait le : 09/09/2008
    ' Fait par Waurzyczka Vincent (Polack77)
    ' Version 1.1
    '------------------------------------------------------------------------------

    Private Declare Sub Sleep Lib "kernel32" Alias "Sleep" (ByVal dwMilliseconds As Int32)
    Private Declare Function TerminateProcess Lib "kernel32" (ByVal hProcess As Int32, ByVal uExitCode As Int32) As Int32
    Private Declare Function OpenProcessToken Lib "advapi32.dll" (ByVal ProcessHandle As Int32, ByVal DesiredAccess As Int32, ByVal TokenHandle As Int32) As Int32
    Private Declare Function OpenProcess Lib "Kernel32.dll" (ByVal dwDesiredAccess As Int32, ByVal bInheritHandle As Int32, ByVal dwProcessID As Int32) As Int32
    Private Declare Function GetExitCodeProcess Lib "kernel32" (ByVal hProcess As Int32, ByRef lpExitCode As Int32) As Int32

    Private ListeTache As New System.Collections.Generic.Dictionary(Of String, Long)

    Private Const CoIn32_DelaisAttenteEntreTestMort As Int32 = 1000

    '------------------------------------------------------------------------------
    'Objectif :
    'Test si l'ID_Tache existe dans la collection
    ' Input :
    '   ID_Tache = Un nom de tache en toute lettre
    ' Output
    '   Boolean = Vrais si l'ID_Tache existe dans la collection faux si non
    ' Fait le : 09/09/2008
    ' Fait par Waurzyczka Vincent (Polack77)
    ' Version 1.0
    '------------------------------------------------------------------------------
    Public Function Contain_ID_Tache(ByVal ID_Tache As String) As Boolean
        Return ListeTache.ContainsKey(ID_Tache)
    End Function

    '------------------------------------------------------------------------------
    'Objectif :
    'Exécute une tache et retourne le ProssessID
    ' Input :
    '   FichierExecutable : Chemin complet de la tache à exécuté
    '   ID_Tache (optionnel) : Nom à stocké pour retrouver le ProssessID
    ' Output
    '   Long = Le ProssessID de la tache ou 0 si erreur (fichier exécutable non trouvé)
    ' Fait le : 09/09/2008
    ' Fait par Waurzyczka Vincent (Polack77)
    ' Version 1.0
    '------------------------------------------------------------------------------
    Public Function ExecuteTache(ByVal FichierExecutable As String, Optional ByVal ID_Tache As String = Nothing) As Long
        Dim ProssessID As Int32
        Try
            ProssessID = Shell(FichierExecutable)
            If ID_Tache IsNot Nothing Then
                ListeTache.Add(ID_Tache, ProssessID)
            End If
            Return ProssessID
        Catch ex As Exception
            Return 0
        End Try
    End Function

    '------------------------------------------------------------------------------
    'Objectif :
    'Exécute une tache et attend sa mort pour quitter la fonction
    ' Input :
    '   FichierExecutable : Chemin complet de la tache à exécuté
    ' Output
    '   Boolean = Vrais si pas de problème faux si non (fichier exécutable non trouvé)
    ' Fait le : 09/09/2008
    ' Fait par Waurzyczka Vincent (Polack77)
    ' Version 1.0
    '------------------------------------------------------------------------------
    Public Function ExecuteTacheAttendMort(ByVal FichierExecutable As String) As Boolean
        Dim ProssessID As Long
        ProssessID = ExecuteTache(FichierExecutable)
        If ProssessID <> 0 Then
            AttendMort(ProssessID)
            Return True
        Else
            Return False
        End If
    End Function

    '------------------------------------------------------------------------------
    'Objectif :
    'Test si la tache passé en paramètre est active (en mémoire)
    ' Input :
    '   ID_Tache : Nom de la tache (nom passé à ExecuteTache)
    ' Output
    '   Boolean : Vrais si la tache est en cours Faux si non
    '             Si la tache n'est plus en cours elle est supprimer de la collection
    '             Si le nom de la tache n'existe pas dans la collection retourne Faux
    ' Fait le : 09/09/2008
    ' Fait par Waurzyczka Vincent (Polack77)
    ' Version 1.0
    '------------------------------------------------------------------------------
    Public Function TacheEnCours(ByVal ID_Tache As String) As Boolean
        If ListeTache.ContainsKey(ID_Tache) Then
            If TacheEnCours(ListeTache(ID_Tache)) Then
                Return True
            Else
                ListeTache.Remove(ID_Tache)
                Return False
            End If
        Else
            Return False
        End If
    End Function

    '------------------------------------------------------------------------------
    'Objectif :
    'Test si la tache passé en paramètre est active (en mémoire)
    ' Input :
    '   ProssessID : Le ProssessID à tester
    ' Output
    '   Boolean : Vrais si la tache est en cours Faux si non
    ' Fait le : 09/09/2008
    ' Fait par Waurzyczka Vincent (Polack77)
    ' Version 1.0
    '------------------------------------------------------------------------------
    Public Function TacheEnCours(ByVal ProssessID As Long) As Boolean
        Dim lExitCode As Int32
        GetExitCodeProcess(OpenProcess(&H1F0FFF, 0&, ProssessID), lExitCode)
        Return (lExitCode = &H103&)
    End Function

    '------------------------------------------------------------------------------
    'Objectif :
    'Tue la tache passé en paramétre
    ' Input :
    '   ID_Tache : Nom de la tache (nom passé à ExecuteTache)
    ' Output
    '   Boolean : Vrais si la tache à été correctement tuée
    '             Si la tache n'est plus en cours elle est supprimer de la collection
    '             Si le nom de la tache n'existe pas dans la collection retourne Faux
    ' Fait le : 09/09/2008
    ' Fait par Waurzyczka Vincent (Polack77)
    ' Version 1.0
    '------------------------------------------------------------------------------
    Public Function TueTache(ByVal ID_Tache As String) As Boolean
        If ListeTache.ContainsKey(ID_Tache) Then
            If TueTache(ListeTache(ID_Tache)) Then
                ListeTache.Remove(ID_Tache)
                Return True
            Else
                Return False
            End If
        Else
            Return False
        End If
    End Function

    '------------------------------------------------------------------------------
    'Objectif :
    'Tue la tache passé en paramètre
    ' Input :
    '   ProssessID : Le ProssessID à tué
    ' Output
    '   Boolean : Vrais si la tache à été correctement tuée ou si elle étais déjà morte
    '             Faux en cas d'erreur (normalement n'arrive jamais)
    ' Fait le : 09/09/2008
    ' Fait par Waurzyczka Vincent (Polack77)
    ' Version 1.0
    '------------------------------------------------------------------------------
    Public Function TueTache(ByVal ProssessID As Long) As Boolean
        Try
            If TacheEnCours(ProssessID) Then
                Dim lngHwndProcess As Long
                lngHwndProcess = OpenProcess(&H1F0FFF, 0&, ProssessID)
                TerminateProcess(lngHwndProcess, 0&)
            End If
            Return True
        Catch ex As Exception
            Return False
        End Try
    End Function

    '------------------------------------------------------------------------------
    'Objectif :
    'Retourne le ProssessID de la tache nommé
    ' Input :
    '   ID_Tache : Nom de la tache (nom passé à ExecuteTache)
    ' Output
    '   Long : Le ProssessID de la tache ou 0 si elle n'existe pas dans la collection
    ' Fait le : 09/09/2008
    ' Fait par Waurzyczka Vincent (Polack77)
    ' Version 1.0
    '------------------------------------------------------------------------------
    Public Function RetrouveProssessID(ByVal ID_Tache As String) As Long
        If ListeTache.ContainsKey(ID_Tache) Then
            Return ListeTache(ID_Tache)
        Else
            Return 0
        End If
    End Function

    '------------------------------------------------------------------------------
    'Objectif :
    'Attend la mort de la tache reçu
    ' Input :
    '   ID_Tache : Nom de la tache (nom passé à ExecuteTache)
    ' Output
    '   Boolean : Faux si ID_Tache n'existe pas dans la collection
    ' Fait le : 09/09/2008
    ' Fait par Waurzyczka Vincent (Polack77)
    ' Version 1.0
    '------------------------------------------------------------------------------
    Public Function AttendMort(ByVal ID_Tache As String) As Boolean
        If ListeTache.ContainsKey(ID_Tache) Then
            AttendMort(ListeTache(ID_Tache))
            Return True
        Else
            Return False
        End If
    End Function

    '------------------------------------------------------------------------------
    'Objectif :
    'Attend la mort de la tache reçu
    ' Input :
    '   ProssessID : Le ProssessID de la tache
    ' Fait le : 09/09/2008
    ' Fait par Waurzyczka Vincent (Polack77)
    ' Version 1.0
    '------------------------------------------------------------------------------
    Public Sub AttendMort(ByVal ProssessID As Long)
        While TacheEnCours(ProssessID)
            Sleep(CoIn32_DelaisAttenteEntreTestMort)
        End While
    End Sub
End Module


Amicalement
Pensez "Réponse acceptée"


mardi 9 septembre 2008 à 20:38:51 | Re : (pas une question, une pitite info) : Run-time exception thrown : System.AccessViolationException - Tentative de lecture ou d'écriture de mémoire protégée. Cela indique souvent qu'une autre mémoire est endommagée.

casy

Membre Club
Réponse acceptée !
"...Il faut tout simplement déclarer les variable utilisé dans les API en Int32 et non pas en Long (l'info n'es pas dans MSDN , ou je ne l'es pas trouvé )...."

Si, si, elle y est, et à plusieurs endroits même. Même si parfois il faut savoir lire entre les lignes.
(Appel de code non managé, Différences entre VB6 et .Net, Utilisation des dll système, ........)

Et elle est même répétée plusieurs fois par semaine, ici même, sur le forum : Tout ce qui est déclaré en Long dans une API Windows est à déclarer en Integer en .Net


---- Sevyc64  (alias Casy) ----
# LE PARTAGE EST NOTRE FORCE #    [ Lien ]

mercredi 10 septembre 2008 à 10:30:14 | Re : (pas une question, une pitite info) : Run-time exception thrown : System.AccessViolationException - Tentative de lecture ou d'écriture de mémoire protégée. Cela indique souvent qu'une autre mémoire est endommagée.

Polack77

Heeee oui en effet .

   On vas dire que je n'avais pas trop la pèche hier (je crois même que j'avais déjà posté sa ici, mais pas le module en cadeau, au moins mon post ne serviras pas à RIEN. Mais à presque rien )

   Bonne prog

Amicalement
Pensez "Réponse acceptée"


mardi 10 février 2009 à 17:01:52 | Re : (pas une question, une pitite info) : Run-time exception thrown : System.AccessViolationException - Tentative de lecture ou d'écriture de mémoire protégée. Cela indique souvent qu'une autre mémoire est endommagée.

ginger4957

Bonjour,

j'ai eu le même problème sous visual studio 2008 :
Lors du déboggage, cela m'affiche "
AccessViolationException - Tentative de lecture ou d'écriture de mémoire protégée. Cela indique souvent qu'une autre mémoire est endommagée."

Or la déclaration de
ma_variable dans ma_procedure est bien de type Integer (à la place de Long sous VS6.0)

et l'appel de fonction qui se trouve dans ma_procédure soit :

Private Sub ma_procedure
()
'---déclarations---
Dim ma_variable1 As String
Dim ma_variable2 As Short
Dim ma_variable3 As Integer

'---initialisation du répertoire---
ma_variable1 = truc
ma_variable3 = appelle_fonction(..., ..., truc, Len(truc), ...)
mon-repertoire = Mid(Trim(truc), ..., ma_variable3)

End Sub

Je ne vois pas pourquoi il m'affiche ce message d'erreur alors que la conversion a bien été faite de Long à Integer ? Si vous avez quelque chose qui peut m'aider merci d'avance

Cordialement,
Ginger

mercredi 11 février 2009 à 10:53:22 | Re : (pas une question, une pitite info) : Run-time exception thrown : System.AccessViolationException - Tentative de lecture ou d'écriture de mémoire protégée. Cela indique souvent qu'une autre mémoire est endommagée.

Polack77

Tu pourrais nous en dire un peut plus ?
L'API utilisé, l'entête de fonction de "appelle_fonction", la ligne où est retourné l'exception pck là c'est un peut juste quand même .

PS :
Crée une autre discution sur CS pour posé ta question colle simplement le lient ici à la rigueur, si non seul casy, qui à participé à ce topic, et moi ne verront ton message. Ici nous somme dans une discution crée il y à déjà pas mal de temps, et résolut en prime, donc il n'y à pas grand monde qui passe par ici

 Amicalement

jeudi 12 février 2009 à 09:57:21 | Re : (pas une question, une pitite info) : Run-time exception thrown : System.AccessViolationException - Tentative de lecture ou d'écriture de mémoire protégée. Cela indique souvent qu'une autre mémoire est endommagée.

ginger4957

Bonjour
La suite ici : http://www.vbfrance.com/forum/sujet-SOUS-VB2008-PROBLEME-ACCESSVIOLATIONEXCEPTION_1267867.aspx

J'avais vu pour la date, c'est pourquoi j'ai recrée un topic ailleurs nouveau ^_^
Merci,

Cordialement,
Ginger



Cette discussion est classé dans : tache, id, int32, byval, prossessid


Répondre à ce message

Sujets en rapport avec ce message

Suppression avec Adodc [ par m2rtech ] Salut à tous,J'ai une requete avec liaison (Adodc2), qui remplie un DataGrid.L'orsque je veux supprimer une ligne de ma grille, je reçois le message d maintenir une form au dessus d'une application donnée [ par jabajaba ] Voilà, j'ai une form que je veux maintenir "topmost" mais seulement au dessus d'une application précise, pas au dessus de toutes les applis ouvertes.M listview et checkbox qui provoque une erreur de connexion a une bd [ par eklips ] Bonjour à tous...Je galère depuis quelques jours sur un problème que je n'arrive pas à résoudre....en fait j'ai deux problêmes mais je crois qu'il son capture d'un contrôle depuis son handle [ par teamtiti ] Rebonjour a tous le monde ,voila mon probleme :je sais recupérré le handle de mon contrôle  TextBox183.Text = (Graph1.Handle) mais je ne sais comment Problème pour Rogner une image [ par Jielde ] Salut,J'ai un problème avec ce code pris sur le site:Private Function RognImage(ByVal ImaSource As Bitmap, ByVal xPixelDep As Int32, ByVal yPixelDep A ajouter un graphics dans un graphics [ par dragon ] Bonjour à tous, j'ai un petit problèmeje suis en train de me créer un System.Drawing.Printing.PrintDocument qui gère parfaitement les sauts de page. B problème avec objet [ par volcom20 ] Salut j'ai un objet qui est un étudiant je veux avoir les information de mon étudiant au formload mais je suis incapable mon code est : Voila ma form Probleme avec winmm.dll [ par Luciol44 ] Salut,Voila, j'utilise ce petit code pour recuperer la durée d'un son:Private Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (B Plusieurs paramètres pour la procédure BeforeDoubleClick [ par sfab41 ] Bonjour!Comme l'indique mon titre je voulais savoir s'il était possible de mettre plusieurs paramètres à cette procédure? Ce serait du type: ByVal Tar


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,390 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.