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

ASP.NET Discussion :

Souci de gestion du postback dans un updatePanel


Sujet :

ASP.NET

  1. #1
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut Souci de gestion du postback dans un updatePanel
    Bonjour tout le monde.

    Je crois que j'ai encore zappé un détail dans la gestion du PsotBack dans un UpdatePanel, mais je trouve pas.

    Alors je soumets mon code :
    Côté HTML :
    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
     
    <%@ Control Language="VB" AutoEventWireup="false" CodeFile="GestionMenu.ascx.vb" Inherits="Module_Gite_GestionMenu" %>
    <asp:DropDownList ID="ddlMenu" runat="server" AutoPostBack="true"></asp:DropDownList>
    <ajax:UpdatePanel ID="upMenu" runat="server" ChildrenAsTriggers="true">
        <Triggers>
            <ajax:AsyncPostBackTrigger ControlID="ddlMenu" EventName="SelectedIndexChanged" />
        </Triggers>
        <ContentTemplate>
        <asp:Table ID="tblMenu" runat="server">
            <asp:TableRow>
                <asp:TableCell>
                    <asp:Button ID="btnEnregistrer" runat="server" Text="Enregistrer" />
                </asp:TableCell>
            </asp:TableRow>
        </asp:Table>
        <asp:Table ID="tblDetailMenu" runat="server"></asp:Table>
        <asp:Button ID="btnEnrDetailMenu" runat="server" Text="Enregistrer modifications" />
     
        </ContentTemplate>
    </ajax:UpdatePanel>
    J'ai enlevé quelques TableRow pour faire plus léger. Elles affichent des données, sans rapport avec mon soucis.

    Donc, à l'affichage on a une DDL en haut, des champs et un bouton "Enregistrer".
    Juste en dessous, on a un bouton "Enregistrer modifications".

    Lorsque l'on va choisir un truc dans la DDL il va y avoir une table qui va se mettre entre les deux boutons. Dans le CodeBehind, vous verrez tout cela, mais je ferais un peu de netoyage, pour que se ne soit pas imbuvable tout en gardant l'essentiel.

    Voici le CodeBehind :
    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
    55
    56
    57
    58
    59
    60
     
    Partial Class Module_Gite_GestionMenu
        Inherits System.Web.UI.UserControl
     
        Protected Sub Page_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Init
            Dim dtlstMenu As DataTable = New DManager("Datadev").RetournerTable("SELECT MenuGiteId, NomMenu FROM dbo.GITE_MenuTitre WHERE ApplicationId = '" & Session("SES_ApplicationStr") & "'")
            With ddlMenu
                .DataSource = dtlstMenu
                .DataTextField = "NomMenu"
                .DataValueField = "MenuGiteId"
                .DataBind()
                .Items.Insert(0, New ListItem("...", 0))
            End With
        End Sub
     
        Protected Sub ddlMenu_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ddlMenu.SelectedIndexChanged
            Dim dtMenuTitre As DataTable = New DManager("DataDev").RetournerTable("SELECT * FROM dbo.GITE_MenuTitre WHERE MenuGiteId = '" & ddlMenu.SelectedValue & "'")
            txtNomMenu.Text = dtMenuTitre.Rows(0).Item("NomMenu")
            txtOrdreMenu.Text = dtMenuTitre.Rows(0).Item("OrdreMenu")
            txtTitreMenu.Text = dtMenuTitre.Rows(0).Item("TitreMenu")
     
            Dim dt As DataTable = New DManager("DataDev").RetournerTable("SELECT * FROM GITE_MenuGiteDetail WHERE MenuGiteId = '" & ddlMenu.SelectedValue & "'")
            For Each dr As DataRow In dt.Rows
                Dim r As New TableRow
                Dim cTexte, cOrdre As New TableCell
                Dim TexteMenu, OrdreMenu As New TextBox
                Dim hfIdDetailMenu As New HiddenField
                With hfIdDetailMenu
                    .Value = dr.Item("IdMenuGiteDetail")
                End With
                With TexteMenu
                    .Text = Replace(dr.Item("TexteMenu"), "<br />", vbCrLf)
                End With
                With OrdreMenu
                    .Text = dr.Item("OrdreMenuGite")
                End With
                cTexte.Controls.Add(TexteMenu)
                cOrdre.Controls.Add(OrdreMenu)
                cOrdre.Controls.Add(hfIdDetailMenu)
                r.Cells.Add(cTexte)
                r.Cells.Add(cOrdre)
                tblDetailMenu.Rows.Add(r)
            Next
        End Sub
     
        Protected Sub btnEnrDetailMenu_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnEnrDetailMenu.Click
            Logage("biloute" & tblDetailMenu.Rows.Count)
            Try
                For Each r As TableRow In tblDetailMenu.Rows
                    Dim TexteMenu As TextBox = r.Cells(0).FindControl(0)
                    Dim OrdreMenu As TextBox = r.Cells(1).FindControl(0)
                    Dim hfIdDetailMenu As HiddenField = r.Cells(1).FindControl(1)
                    Dim z As String = New DManager("DataDev").RetournerScalaire("UPDATE GITE_MenuGiteDetail SET TexteMenu = '" & TexteMenu.Text & "', OrdreMenu = '" & OrdreMenu.Text & "' WHERE Id = '" & hfIdDetailMenu.Value & "'")
                    Logage("UPDATE GITE_MenuGiteDetail SET TexteMenu = '" & TexteMenu.Text & "', OrdreMenu = '" & OrdreMenu.Text & "' WHERE Id = '" & hfIdDetailMenu.Value & "'")
                Next
            Catch ex As Exception
                Logage(ex.Message)
            End Try
        End Sub
    End Class
    Le résultat que j'ai est malheuresement simple : dans la procédure du click du bouton "Enregistrer modifications" vous voyez en première ligne " Logage("biloute" & tblDetailMenu.Rows.Count)" c'est une procédure à moi qui log des choses dans un fichier texte, ça me permet de faire un debug sur mesure.

    Là, vous aurez facilement vu que je cherche à connaitre le nombre de Row dans la Table au moment du click et le nombre est 0.
    Du coup, je me dis qu'il doit y avoir du PostBack dérrière tout ça, mais je sèche, je ne vois pas trés bien comment le gérer.

    Pouvez vous m'aider ?

  2. #2
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut
    Heu, j'ai avancé sur le truc, enfin, non, j'ai plutôt reculé, en fait.

    J'ai viré l'UpdatePanel, en me disant que ça venait de lui. Mais enfait, c'est la même chose.

    Alors là, je capte vraiment plus. soit je suis tellement dedans je vois même plus al bourde monstrueuse que j'ai du faire, soit je dois tout réapprendre.

    Y aurait pas une âme charitable pour me donner un petit coup de main, SVP ?

  3. #3
    Membre chevronné
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2004
    Messages
    417
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2004
    Messages : 417
    Par défaut
    Je pense que ca vien du fait que les rows de ta table tblDetailMenu soient construit en dynamique.

    EN gros tous ce qui est construit en dynamique doit être reconstruit a chaque postback.

    C'est à dire que quand tu construit tes rows la première fois tous va bien, mais quand tu reviens, étant donné qu'elle sont dynamique, asp.Net ne se souvient pas qu'elles sont la. (voir comment fonctionne le cycle de vie et la persistance des controls)
    Et donc voit ta table comme elle est arrivé précédemment c'est à dire vide.

    Reconstruit ta table a chaque postback et ca devrait etre bon.

    sinon je te conseil d'utiliser un repeater qui gèrera mieux la datasource.

    Pour la asp:Table je l'utilise pas beaucoup, mais ton probléme ressemble beaucoup a un problème de control ajouter dynamiquement.

    edit: Je suis sur que ton problème vient dut fait que ca soit dynamique.
    Si ca t'intéresse et que tu as un peu le temps je te conseil cette lecture (anglais) en 4 partie:
    http://weblogs.asp.net/infinitiesloo...t-1_2900_.aspx

    sinon va directement a la troisième partie au niveau du titre "Be Responsible for the Control Tree" qui t'indiquera exactement le problème que tu as.

  4. #4
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut
    J'ai essayé de reconstruire la table, mais il la reconstruit avec les données de base, pas les données modifiées.

    Bon, maintenant, j'ai pas essayé avec un Repeater, mais quoi qu'il arrive, il sera généré dynamiquement puisqu'il est fonction de ce qui est choisi dans la DDL.

    Ce que je comprend pas c'est que je fais le même genre de chose dans un autre composant et ça marche bien. La base de mon code est justement un copier coller du composant qui marche et là, ça marche plus !!!

    Je pige pas.

    Merci pour ton aide.

  5. #5
    Membre chevronné
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2004
    Messages
    417
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2004
    Messages : 417
    Par défaut
    Alors en fait le repeater ne sera pas construit dynamiquement au sens ou rajoute des control n'existant pas a l'arrivé du postback.

    En gros tu ajoute des controls (new TableRow) Toi même.
    Tu en es "Responsable" asp.net ne "sait" pas qu'ils sont la.

    Avec un repeater, il connait ta datasource et asp.net reconstruit le repeater et donc tu récupère tout sans rien faire.

    Pour reconstruire ta table il faudrait que tu enregistre ta DataSource utilisée (ta dataTable) en Cache ou en Session (attention au cache et au partage d'info entre utilisateurs).

    Sur ton précèdent composant tu ajoutes vraiment les rows à la volée (avec des new)?

  6. #6
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut
    Ok, je vois bien le truc du cycle de vie (mais je crois que j'ai toujours du mal avec ça).

    Et oui, avec des New j'ajoute mes row, mes cell, mes label et mes textbox et j'ai beau lire et relire mon code, je gère pas de postback, pas de ViewState, rien, je met tout en vrac et ça marche.

    Donc, le Repeater va prendre directement les Data et garde en "mémoire" les modifications ?

    Bon, je fini le netoyage du code pour tester le REpeater et je reviens te donner le résulat du test. ça m'a l'air plus simple, en fait.

  7. #7
    Membre chevronné
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2004
    Messages
    417
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2004
    Messages : 417
    Par défaut
    Si ca peut te servir:
    Attention je suis pas du tout familier avec le VB
    et j'ai pas du tout tester le code donc je pense pas qu'il marche du premier coup je l'ai fais un peu en direct comme ca vient .

    C'est a peu près ce que ca peut donner

    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
    <asp:Repeater ID="rpt1" runat="server">
     <HeaderTemplate><table></HeaderTemplate>
     
        <ItemTemplate>
     
          <tr>
    <td>
    <asp:TextBox id="txtBox" runat="Server"><asp:Textbox>
    <asp:HiddenField id="hiddenfield" runat="server"></asp:HiddenField>
    </td>
    </tr>
     
        </ItemTemplate>
     <FooterTemplate></table></FooterTemplate>
     
    </asp:Repeater>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Protected Sub rpt1_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.RepeaterItemEventArgs) Handles rpt1.ItemDataBound
    If e.Item.ItemType = ListItemType.Item Then
    Dim txtBox As TextBox = CType(e.Item.FindControl("txtBox"), TextBox)
    Dim row As DataRowView = DirectCast(e.Item.DataItem, DataRowView)
    txtBox.Value = row("TexteMenu").ToString()
     
      'faire la meme chose pour le hiddenfield
    End If
    End Sub

  8. #8
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut
    Merci pour ton code, en fait il est bon sauf sur le row, y a pas besoins, t'envoi juste le nom du champ et ça roule.

    Mais ça, j'avais fait, en fait... hi hi hi

    Là, où je coince maintenant, c'est sur la récupération des données pour les enregistrer.
    Soit j'ai loupé un chapitre dans la MSDN sur le Repeater, soit il sait pas enregistrer des donnée tout seul ?

    Du coup, je fais comment pour enregistrer tout ça ?
    Là, je sèche.

    Je suis pas famillier du Repeater en fait, ça doit être un tort, mais faut bien que je trouve à progresser aussi....

    Merci pour ton aide.

  9. #9
    Membre chevronné
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2004
    Messages
    417
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2004
    Messages : 417
    Par défaut
    Ca dépend un peu de ce que tu veux.
    Si tu n'as qu'un seul bouton en dehors du repeater et que tu veux enregistrer toute les valeur de tes Texbox:

    Tu te me sur le onclick du bouton et dans cette méthode tu fais a peu pres ca:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    for (int i = 0; i < rpt1.Items.Count;i++ ) {
                string txtBoxValue= ((TextBox)rpt1.Items[i].FindControl("txtBox")).Text;
    }
    Tu me pardonneras le c# un peu la flegme pour le mettre en VB.

    A moins que ton besoin soit autre,

  10. #10
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut
    Citation Envoyé par gyzmau Voir le message
    Tu me pardonneras le c# un peu la flegme pour le mettre en VB.
    Britanique ? hi hi hi

    Bon, allez, soyons sérieux deux secondes.

    Donc, mon besoins est autre et le temps de revenir pour te dire que j'avais trouvé, tu avais posté ta réponse, alors d'abords MERCI.

    J'ai fais autrement aprce que j'ai plusiuers textebos et hiddenfield à mettre en oeuvre.
    Et en fait c'était tout couillon et j'aurais du y penser plus tôt.
    Donc je pense que le Printemps approche que je dois être amoureux (mais de qui ???) ou que la boite de RIFT qui est là, sur mon bureau depuis 14 H 00 me perturbe de trop.....

    Bref, passons au code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    For Each ir As RepeaterItem In repDetailMenu.Items
                Dim strTexteMenu As String = CType(ir.Controls(1), TextBox).Text
                Dim strOrdreMenu As String = CType(ir.Controls(3), TextBox).Text
                Dim hfMenuId As String = CType(ir.Controls(5), HiddenField).Value
                strTexteMenu = Replace(strTexteMenu, "'", "''")
                strTexteMenu = Replace(strTexteMenu, vbCrLf, "<br />")
                Dim z As String = New DManager("DataDev").RetournerScalaire("UPDATE GITE_MenuGiteDetail SET TexteMenu = '" & strTexteMenu & "', OrdreMenuGite = '" & strOrdreMenu & "' WHERE IdMenuGiteDetail = '" & hfMenuId & "'")
            Next
            ChargeTblDetail()
    Sur le click de mon bouton, je fais ça pour gérer les données du Repeater. En fait, c'est du Mother Fucker Control ce truc, c'est carrément génial. Je vais en mettre à toute les sauces maintenant.

    J'ai un poil ramé pour arriver à le remettre en affichage avec les modif une fois revenu du PostBack, mais j'ai réussi aussi.

    Pour le C#, pas grave, entre LuteceFalco, SaumonAgile (que j'ai pas vu depuis longtemps au passage) ou encore calagan99 qui me font le coup à chaque fois, je fini par comprendre, ne t'inquiète pas (et j'en oublie pas mal qui m'ont beaucoup aider).

    Alors, pour en terminer il faut que tu sache que tu viens de faire un truc d'enfer aujoud'hui en quatre messages :
    - m'aider à terminer mon formulaire
    - ce qui entraine, terminer le site pourri sur le quel je bosse (je sais pas pourquoi, je le sens pas ce site)
    - ce qui implique me décharger d'une bouze
    - ce qui fait que je suis un homme heureux

    c'est pas génial ça ?

    Alos un grannd trés grand merci à toi.

    Passe une bonne soirée et @ la prochaine.

  11. #11
    Membre chevronné
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2004
    Messages
    417
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2004
    Messages : 417
    Par défaut
    A ton Service, ca fait plaisir.

    Juste deux petite chose
    1- a propos de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CType(ir.Controls(1), TextBox).Text
    je te conseillerais plutot un findcontrol sur l'id:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CType(ir.FindControl("NomDuCtrl"), TextBox).Text
    Notamment si d'aventure toi ou un autre développeur ajoutiez un autre control dans la collection et que tous parte en vrille.
    Ok pour les perfs c'est un peu moins bien mais t'a pas non plus 10000 controls dans un item

    2 -Pas contre je sais pas comment tu gere dans Ta DAL mais la ca sent l'injection SQL a des kilomètres.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim z As String = New DManager("DataDev").RetournerScalaire("UPDATE GITE_MenuGiteDetail SET TexteMenu = '" & strTexteMenu & "', OrdreMenuGite = '" & strOrdreMenu & "' WHERE IdMenuGiteDetail = '" & hfMenuId & "'")
    Par exemple si tu utilise un Sql command vaut mieux faire ca:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SqlCommand command = New SqlCommand( _
            "UPDATE Customers SET CustomerID = @CustomerID, CompanyName = @CompanyName " & _
            "WHERE CustomerID = @oldCustomerID", connection)
     
        ' Add the parameters for the UpdateCommand.
        command.Parameters.Add("@CustomerID", SqlDbType.NChar, 5, "CustomerID")
        command.Parameters.Add("@CompanyName", SqlDbType.NVarChar, 40, "CompanyName")
    gaffe parce que ca peut etre hyper critique meme pour un petit site .
    Notamment si tu doit passer une soirée voir un week end a remonté tout une DB a cause de ca.


    En tous cas content de t'avoir aidé.

  12. #12
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut
    Merci pour l'indée du FindControl, c'est vrai que c'est plus clair humainement que les index.

    Pour la DAL, tu as entièrement raison.
    En phase de développement, je fait un peu n'importe quoi, entre guillemet.

    Mais ma DAL est géré de la manière suivante :
    - le New DManager est un objet d'une classe spéciale qui prend une requête SQL en String et te renvoi au choix : une String ou une DataTable
    - TOUTES mes requêtes sont faites sous forme de Proc Stock en production, donc le SQL injection, faudra qu'il fasse le tour


    Et voilà, ça a été le premier turc de ma formation sur .NET, la Classe Data. Du coup, elle est béton et blindée pour faire tout ce que j'ai à faire.
    Mais, dés que j'ai un peu de temps, je le colle sur mon blog, come ça, s'il y a des failles, des gens pourront me le dire.

    Allez, zou, j'installe RIFT, deux heures de téléchargement, .....

    @ +

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 22/06/2012, 08h56
  2. Réponses: 12
    Dernier message: 08/10/2010, 10h23
  3. Gestion des headers dans un Makefile
    Par Weren dans le forum Autres éditeurs
    Réponses: 1
    Dernier message: 09/11/2004, 10h44
  4. Gestion du blit dans un moteur2D
    Par Fry dans le forum DirectX
    Réponses: 2
    Dernier message: 01/11/2004, 02h05
  5. [VB6] Gestion des erreurs dans une dll
    Par zimba-tm dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 02/08/2004, 11h20

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