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

Web & réseau Delphi Discussion :

probléme Evénement onasynctimer


Sujet :

Web & réseau Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2013
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2013
    Messages : 19
    Par défaut probléme Evénement onasynctimer
    Bonjour.
    je suis entrain de créer un composant intraweb. Dans ce composant je veux créer un timer qui fait un certain traitement.j'utilise l’événement OnAsynctimer pour profiter d'ajax.le probléme que lorsque je lance l'application le navigateur plante.voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    procedure TIWForm1.IWButton1Click(Sender: TObject);
    begin
     timer:=TIWTimer.Create(Self);
      timer.Enabled:=False;
      timer.Interval:=1000;
     
      timer.OnAsyncTimer:=timerAsyncTimer;
    if //un traitement then timer.Enabled:=True;  //j'active le timer ici
    end;
    et voici le traitement que vas faire le timer:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    procedure TIWForm1.timerAsyncTimer(Sender: TObject; EventParams: TStringList);
    begin
      if //un traitement then //un traitement
     end;
    je crois que le probléme vient d'ajax car avec Evènement OnTimer tout va bien.

    j'ai besoin de votre aide. mercii

  2. #2
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 081
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 081
    Par défaut


    Pense que tu instancies un nouveau TIWTimer
    Ils ne seront libérés que lors de la fermeture de TIWForm1

    C'est peut-être lié au traitement, si tu mets un code extrement simple dans OnAsyncTimer as-tu un problème ?
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  3. #3
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2013
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2013
    Messages : 19
    Par défaut
    oui c'est le meme probleme.si j'ajoute un tiwtimer de la palette et je fait mon traitement tout va bien avec le onasynctimer. mais si j'essaye de créer la procedure : procedure TIWForm1.timerAsyncTimer(Sender: TObject; EventParams: TStringList); moi meme ça marche pas

  4. #4
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 081
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 081
    Par défaut
    Ah !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    timer.OnAsyncTimer:=timerAsyncTimer;
    Probable qu'il soit trop tard !
    Si c'est le JS qui le fait, cela doit impliquer de modifier le JS à la volée dans la page déjà chargé !

    tu devrais plutôt laissé le composant posé et ajouter une variable JS (voir la propriété Scripts) pour contrôler l'activation du Timer
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  5. #5
    Membre extrêmement actif
    Avatar de skywaukers
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juin 2005
    Messages
    1 219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 219
    Par défaut
    Bonsoir,

    Je plussoie ShailLeTroll. Avec Ajax, il n'y a pas de rafraichissement de la page, donc si le composant n'est par présent au chargement, tu ne peux pas l'utiliser. De la même manière si tu veux avec un événement asynchrone rendre visible un composant initialement invisible, il faut bien penser à cocher l'option "RenderInvisibleControls" de ton formulaire, sinon l'action n'aura aucun effet puisque le code du control ne sera pas présent dans la page html.

    @++
    Dany

Discussions similaires

  1. [Débutant] Problème Evénement sur gotfocus et lostfocus
    Par kruger54 dans le forum VB.NET
    Réponses: 0
    Dernier message: 18/05/2015, 05h54
  2. Problème evénement JPanel
    Par Saokore91 dans le forum Débuter
    Réponses: 0
    Dernier message: 22/06/2012, 11h00
  3. Problème Evènements dans classe différente
    Par narglix dans le forum Agents de placement/Fenêtres
    Réponses: 6
    Dernier message: 10/12/2008, 19h17
  4. Problème d'Evènement sur contrôle personnalisé
    Par Ishizaki dans le forum ASP.NET
    Réponses: 6
    Dernier message: 08/08/2008, 11h16
  5. problème d'evènement avec JLIST
    Par henpower dans le forum Composants
    Réponses: 2
    Dernier message: 30/01/2008, 19h26

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