Intercepeter Evenement [Résolu]

L_art_ment 316 Messages postés vendredi 21 septembre 2007Date d'inscription 6 février 2013 Dernière intervention - 29 mai 2008 à 14:57 - Dernière réponse : L_art_ment 316 Messages postés vendredi 21 septembre 2007Date d'inscription 6 février 2013 Dernière intervention
- 29 mai 2008 à 16:48
         Bonjour, Bonsoir

   Encore un tiot probléme que je viens vous exposer...   Voilà j'utilise le composant MP3coder permettant de convertir des fichiers *.wav en *.mp3, la conversion se fait sans soucis, jusque là tout vat bien je vais bien...

   Le soucis étant que, comme vous devez commencer à le savoir, j'utilise Turbo Delphi, hors je ne peux pas ajouter de composant, mais pour contourner ce petit soucis (qui n'en est pas un finalement) j'utilise l'unité MP3coder.pas... Je sais qu'il est possible d'intercepter l'évenement OnEndProcess (qui détecte le fin de la conversion) puisque dans les exemples que j'ai il y a la procédure TForm1.MP3coder1EndProcess(Sender:TObject); mais chez moi cela ne fonctionne pas puisque mon composant n'est pas sur la fiche Form1...

   Voici la maniére dont il est déclaré dans le MP3coder.pas :
         
interface

uses ...... ;

type
   ...
   TMP3coder = class(TComponent)
      private
         ...
        FOnEndProcess : TNotifyEvent;
         ...
      published
         property OnEndProcess : TNotifyEvent read FOnEndProcess write FOnEndProcess;

      
      Voilà, puis dans ma form principale je déclare :

uses ... MP3coder;

type
   ...

var
   ...
   MP3coder1 : TMP3coder;
   ...

implementation

procedure TForm1.FormCreate(Sender:TObject);
begin
MP3Coder1:=TMP3coder.create(self);
end;

      Puis j'ai un bouton qui lance la conversion, mais je voudrais une fois la conversion terminée détecter l'évenement via ma form principale, je ne sais pas trop comment faire

      J'ai bien essayé la ligne MP3coder1.OnEndProcess := MaProcedureEndProcess // MaProcedureEndProcess étant une procédure qui sera lancé à la détéction de l'évenement... Mais ca ne fonctionne pas, c'est pourtant la chose la plus censée que j'ai testé  

      Merci d'avance de m'éclairer de votre lume, car ma chandelle est presque morte là

      
Afficher la suite 

Votre réponse

4 réponses

Meilleure réponse
Cirec 4231 Messages postés vendredi 23 juillet 2004Date d'inscription 3 août 2018 Dernière intervention - 29 mai 2008 à 16:42
3
Merci
pardon retire le @

 
@+
Cirec

<hr siz="" />

Merci Cirec 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 96 internautes ce mois-ci

Commenter la réponse de Cirec
Cirec 4231 Messages postés vendredi 23 juillet 2004Date d'inscription 3 août 2018 Dernière intervention - 29 mai 2008 à 16:06
0
Merci
Salut,

c'est très simple:

type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
    procedure EndProcess(Sender: TObject);

  private
    { Private declarations }
  public
    { Public declarations }
  end;

implementation

procedure TForm1.FormCreate(Sender:TObject);
begin
  MP3Coder1 := TMP3coder.create(self);
  MP3Coder1.OnEndProcess := @EndProcess;
end;

procedure TForm1.EndProcess(Sender:TObject);

begin
  
// ton code ici
end;
 
@+
Cirec

<hr siz="" />
Commenter la réponse de Cirec
L_art_ment 316 Messages postés vendredi 21 septembre 2007Date d'inscription 6 février 2013 Dernière intervention - 29 mai 2008 à 16:18
0
Merci
         Screugneugneuh merci Cirec !! c'est ce que j'avais testé mais sans le @ devant ma procédure...   Là je viens de tester comme tu m'as dis mais il me balance une erreur "variable requise" sur cette même ligne  :s
Commenter la réponse de L_art_ment
L_art_ment 316 Messages postés vendredi 21 septembre 2007Date d'inscription 6 février 2013 Dernière intervention - 29 mai 2008 à 16:48
0
Merci
         Bah mince j'comprend pô ca fonctionne... C'est pourtant ce que j'avais essayé.. J'ai peut être dû oublié un "(sender:TObject)" quelque part ...

         Bein j'suis vraiment désolé :s Grand merci quand même
Commenter la réponse de L_art_ment

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.