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 :

Aide pour un thread (debutant)


Sujet :

Delphi

  1. #1
    Membre du Club
    Inscrit en
    Mars 2002
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 85
    Points : 49
    Points
    49
    Par défaut Aide pour un thread (debutant)
    Bonjour

    Je n'ai jamais utilisé de Threads et la je pense en avoir besoin, j'aimerai avoir des conseils pour pouvoir finaliser mon application.

    voila sur un bouton de mon application j'ai ce code (enfin c'est une partie)

    if (TabSave.getMaxIndice <> -1) then
    begin

    prgcopie.Max := tabsave.getMaxIndice;
    prgcopie.Show;
    Screen.Cursor:=crHourGlass;
    for i := 0 to tabsave.getMaxIndice do
    begin
    destination := PATH_REP_DEST + rightstr(tabsave.getNomFichier(i),length(tabsave.getNomFichier(i))-3);
    If ((FindFirst(destination,faanyfile,InfoSrce)<>0) or (infosrce.Size <> tabsave.gettaille(i))) then
    begin
    creationrep(extractfiledir(destination));
    copiefichier(tabsave.getNomFichier(i),destination);
    prgcopie.Position := prgcopie.Position + 1;
    end;
    end;
    prgcopie.Hide;
    FindClose(InfoSrce);
    Screen.Cursor:=crdefault;
    end;
    voila, j'aimerai utilisé la classe TThread mais je ne sais pas comment faire, j'ai bien regardé la faq mais ça ne marche pas... Tabsave est un tableau structure avec une chaine et deux entiers, est ce que je dois le redeclarer dans la classe TThread ? Je suis paumé la dessus

    Merci.

  2. #2
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 586
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    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 : 13 586
    Points : 25 262
    Points
    25 262
    Par défaut
    Ton code n'est pas spécialement lisible

    bon, tu as du comprendre qu'il fallait créer une classe héritée de Thread, je le fais souvent à la main, mais tu peux faire "Fichier | Nouveau | Autre , Objet Thread" (l'icone bobine de fil sur un fichier ...)

    Ensuite, partage tu de la mémoire entre le Thread VCL Principale (la boucle générer par Application.run où se déroule tes évènements avec tes Forms) et le Thread de Copie de Fichier ?

    D'après ton code, j'en doute, tu n'as à mon avis que ton Tabsave, soit tu le passe en paramètre au constructeur surchargé de ton thread, et tu le copie dans un membre privée de l'objet thread, soit tu le laisse en variable accessible depuis le thread (var globale, membre d'une fenêtre) en gérant une section critique ...

    Ensuite, la progressBar, il faut la mettre dans le Thread Principale, un Timer va consulter une valeur du thread (voir TMultiReadExclusiveWriteSynchronizer) qui contient l'indice en cours de traitement ...

    je voudrais bien te passer du code, mais je n'en ai pas qui ne soit pas imbriqué avec des list et d'autres objets ...

  3. #3
    Membre du Club
    Inscrit en
    Mars 2002
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 85
    Points : 49
    Points
    49
    Par défaut
    ok merci du conseil c'est deja ça, je vais essayé comme tu dis, certains points me paraissent floues mais je vais essayé quand meme

Discussions similaires

  1. Réponses: 7
    Dernier message: 20/05/2006, 16h38
  2. [Thread] aide pour comprendre un exemple
    Par maminova77 dans le forum 2D
    Réponses: 2
    Dernier message: 19/04/2006, 23h24
  3. [Debutant] Besoin d'aide pour modifier un tableau...
    Par CyberTwister dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 08/03/2006, 14h14
  4. Aide pour un debutant en C++!!!
    Par El_Tunisiano dans le forum Débuter
    Réponses: 16
    Dernier message: 16/02/2005, 21h13
  5. Debutant en C cherche aide pour fonctions!!!!
    Par benji17c dans le forum C
    Réponses: 5
    Dernier message: 30/09/2003, 12h47

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