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

 Delphi Discussion :

Problème introuvable (erreur qui se cache dans une portion de code)


Sujet :

Delphi

  1. #21
    Membre confirmé
    Inscrit en
    Janvier 2009
    Messages
    598
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 598
    Points : 628
    Points
    628
    Par défaut
    On peut créer une unité avec un click sur la listBox ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Unitetemp := Tunites.create;
    Moi dans ces cas, je met un stop dans la procedure click du lisbox mais je commence à la premiere ligne puis je descend au fur et à mesure, sinon je met en commentaire toutes les instructions (du lisbox) sauf la premiere, je regarde ce que ça donne, puis toutes les instructions sauf la premiere et la deuxieme, je regarde ce que ça donne, etc...

    Sinon yukyuu ta signature elle s'applique à ma copine aussi :/

  2. #22
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    114
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 114
    Points : 71
    Points
    71
    Par défaut
    Salut,

    La partie de code que tu cites ne "crée" pas une unité, elle initialise l'objet en question.

    Pour information, ce qui ne fonctionnait pas (y'avait pas mal de choses mais toutes dans la procédure dans l'objet en fait) :

    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
     
    /-------------- Remplissage d'un objet Tunites --------------------------------
    Function Tunites.Trouveunite(id: integer) : Tunites;
    //------------------------------------------------------------------------------
    Var
     datarecord : TADODataSet;
     cnx : TADOConnection;
    begin
      cnx := TADOConnection.Create(nil);
      cnx.ConnectionString := 'Provider=MSDASQL.1;Password=admin;'
        +'Provider=MSDASQL.1;Password=admin;Persist Security Info=True;'
        +'User ID=Admin;Extended Properties="DSN=MS Access Database;'
        +'DBQ=D:\dev\autoentreprise\autoentreprise.mdb;'
        +'DefaultDir=D:\dev\autoentreprise;DriverId=25;'
        +'FIL=MS Access;MaxBufferSize=2048;PageTimeout=5;'
        +'PWD=admin;UID=admin;";Initial Catalog=D:\dev\autoentreprise'
        +'\autoentreprise.mdb''Persist Security Info=True;'
        +'User ID=Admin;Extended Properties="DSN=MS Access Database;'
        +'DBQ=D:\dev\autoentreprise\autoentreprise.mdb;'
        +'DefaultDir=D:\dev\autoentreprise;DriverId=25;'
        +'FIL=MS Access;MaxBufferSize=2048;PageTimeout=5;'
        +'PWD=admin;UID=admin;";Initial Catalog=D:\dev\autoentreprise'
        +'\autoentreprise.mdb';
      cnx.Open;
      datarecord := TADODataset.Create(nil);
      datarecord.Connection := cnx;
      datarecord.commandtext := 'select * from unite where N° = ' + inttostr(id);
      datarecord.open;
      Trouveunite.FIDunite := datarecord.FieldByName('').AsInteger;
      Trouveunite.FNomUnite := datarecord.FieldByName('NomUnite').AsString;
      datarecord.Close;
      cnx.Close;
      FreeAndNil(cnx);
      FreeAndNil(DataRecord);
    end;
    (Vous pourrez voir sur mon premier post la première version de ce code)

    1 - J'avais un dataset mais pas de dataconnexion.
    2 - Fuites de mémoire diverses par l'oubli des FreeandNil ^^.
    3 - Aucune connexionstring n'était défini.

    Voila,

    Merci à tous ceux qui ont prit le temps de me donner un coup de main !

    Ukyuu.

  3. #23
    Membre confirmé
    Inscrit en
    Janvier 2009
    Messages
    598
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 598
    Points : 628
    Points
    628
    Par défaut
    Content que tu n'ai plus ces problèmes^^
    Clique sur Résolu quand tu est prêt

  4. #24
    Membre émérite Avatar de edam
    Homme Profil pro
    Développeur Delphi/c++/Omnis
    Inscrit en
    Décembre 2003
    Messages
    1 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Delphi/c++/Omnis
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 894
    Points : 2 770
    Points
    2 770
    Par défaut
    j'ai quelque question à te posé Ukyuu:
    1- ta chaine de connextion est un peut long, non??
    2-
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
        for i := 0 to DST_main.RecordCount - 1 do
    je préfére de loin while not Eof do
        begin
        // On remplit l'objet normalement
        compo := TFourniture.Create;//??????une form, un composant
        compo.remplirfourniture(DST_main);
        // On remplit la liste de fourniture avec l'objet
        lst_fournitures.AddItem(DST_main.FieldByName('designation').AsString, compo);
        DST_main.Next;
        end;
    aussi pour
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        Unite1 := Tunites.Create;
        Unite1.remplirunite(DST_main);//unite 1,c'est une unité???

  5. #25
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    114
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 114
    Points : 71
    Points
    71
    Par défaut
    Désolée, j'ai eu à me soigner entre temps et je n'avais pas vu ta question.

    Tunites est un objet mais pas une forme.

    Ma chaîne de connexion est normale je dirais, je veux dire que j'ai pris un TADOconnexion construit la chaîne, puis copié-collé.

    Mais en fait, je vais devoir abandonner l'idée de faire comme ça...
    Un ami est passé chez moi ce week-end puis il m'a montré du doigt des tonnes d'endroits qui posaient / allaient poser problème dans le code.

    Apparemment faire la connexion dans un objet, c'est risqué, pas évident et ça fait planter le programme le plus souvent...

    J'attends d'aller mieux et je vais reprendre le tout avec calme et composition.

    Je mets en résolu mais j'indiquerais la solution que j'ai trouvé par la suite.

    Ukyuu.

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. erreur: ...ANSI_NULLS et ANSI_WARNINGS.. dans une storedProc
    Par MoTUmBo dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 01/12/2005, 21h24
  2. librairie introuvable! Erreur"Pas d'objet dans ce contr
    Par vins111282 dans le forum Access
    Réponses: 5
    Dernier message: 16/05/2005, 14h07
  3. [C#]Comment executer du code qui se trouve dans une string ?
    Par freddyboy dans le forum Windows Forms
    Réponses: 4
    Dernier message: 28/02/2005, 16h31
  4. Afficher une image JPG qui se trouve dans une bdd
    Par Harry dans le forum Bases de données
    Réponses: 6
    Dernier message: 27/02/2004, 10h51
  5. Réponses: 3
    Dernier message: 01/12/2003, 13h14

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