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

Langage Delphi Discussion :

Problème avec une DLL dans une boucle For


Sujet :

Langage Delphi

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Décembre 2002
    Messages : 29
    Par défaut Problème avec une DLL dans une boucle For
    Bonjour,

    j'utilise une dll (AffichDial1) qui compose un appel téléphonique et qui joue un fichier wav sur le modem dans 2 boucles for imbriquées.

    le problème est qu'il sort de la seconde boucle (après AffichDial1 et ne fait pas le DataModule1.ClientDataSetQueryParam.Next) et continue sur la première.

    voici le code :

    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
     
    For i:=0 to Z do
    begin
       FaireRequeteQueryParam('SELECT * FROM AppelPhone WHERE indexligne='+IntToStr((i+1)*100)+' AND IndexAppel='+IntToStr(TabLignes[i].lAction[7].Option1)+'');
       n:=DataModule1.ClientDataSetQueryParam.RecordCount;
       if n>0 then
       begin
          DataModule1.ClientDataSetQueryParam.First;
          For j:=0 to n-1 do
          begin
             NumAppel:=DataModule1.ClientDataSetQueryParam.FieldByName('NumAppel').AsString;
             FichierWav:=DataModule1.ClientDataSetQueryParam.FieldByName('FichierWav').AsString;
             AffichDial1(TrameDial1+NumAppel+'='+Chemin+'\'+TabLignes[i].lligne+'\'+FichierWav);
             DataModule1.ClientDataSetQueryParam.Next;
           end;
       end;
    end;

  2. #2
    Membre émérite Avatar de Caine
    Inscrit en
    Mai 2004
    Messages
    1 028
    Détails du profil
    Informations personnelles :
    Âge : 53

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 028
    Par défaut
    Tu as testé la valeur de n?

    Peux être que tu as un problème avec tes requêtes plus qu'avec tes boucles

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Décembre 2002
    Messages : 29
    Par défaut
    En fait, pour i=0, n=2; AffichDial1 est lancé une premère fois. dans la procedure de dll correspondant à AffichDial1, je fais un create et c'est là qu'il sort et qu'il revient à i=2 sans faire le j=1 tout de suite. Par contre, dès qu'il a fini la procedure de dll correspondant à AffichDial1, il revient sur "DataModule1.ClientDataSetQueryParam.Next;" mais entre temps il a lancé d'autres requête et le recordcount vaut 0 alors qu'il valait 2 avant.

    Bizarre, Bizarre,

  4. #4
    Membre émérite Avatar de Caine
    Inscrit en
    Mai 2004
    Messages
    1 028
    Détails du profil
    Informations personnelles :
    Âge : 53

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 028
    Par défaut
    Je ne comprends pas bien là, i passe de 0 à 2 juste après AffDial1 ? Si c'est le cas, il y a un problème de réentrance je pense.

    Précises un peu que je te suives mieux.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Décembre 2002
    Messages : 29
    Par défaut
    un problème de Raie en Trance?? je plaisante
    En fait, i passe de 0 à 1 sans faire le fin de sa boucle ("DataModule1.ClientDataSetQueryParam.Next;")

  6. #6
    Membre émérite Avatar de Caine
    Inscrit en
    Mai 2004
    Messages
    1 028
    Détails du profil
    Informations personnelles :
    Âge : 53

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 028
    Par défaut
    C'est impossible, garanti par le langage.

    Comment déduis-tu qu'il n'exécute pas la fin de la boucle?

Discussions similaires

  1. Problème avec API OutText dans une DLL
    Par KlausGunther dans le forum API, COM et SDKs
    Réponses: 20
    Dernier message: 11/05/2014, 15h55
  2. Problème avec un Timage dans une DLL
    Par colorid dans le forum Langage
    Réponses: 6
    Dernier message: 20/05/2011, 12h04
  3. Réponses: 9
    Dernier message: 09/12/2008, 00h07
  4. utiliser une dll dans une dll
    Par anthonycosson dans le forum MFC
    Réponses: 2
    Dernier message: 09/05/2006, 21h42
  5. Problèmes avec un TWebBrowser dans une DLL
    Par bellamyjc dans le forum Composants VCL
    Réponses: 2
    Dernier message: 12/01/2005, 22h35

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