aidez moi j'en peux plus...

aidez moi j'en peux plus... - Programmation

Marsh Posté le 10-02-2002 à 14:55:34    

bonjour. je commence à me demander si j'ariverais à promgrammer un truc de mes dix doigts.....
je programme sous borland Builder (en ce moment je test le 5)
Mais je suis confronté à un probleme que j'arrive pas à résoudre.
j'essaye de modifier, en cours de execution de mon programme, la fonction de réponse au clic d'un bouton (evenement OnClick d'un bouton)
Je suis persuadé que l'on peux modifier cette fonction de la meme maniere que les propriétés du bouton.
en fait je vais vous montrer ce que j'ai fait:
 
//déclaration de la nouvelle fonction
void __fastcall lancertache(TObject *Sender)
{
  ShowMessage("comment ca va?" );
}
 
//Modification de la fonction de réponse.
Button1->OnClick=lancertache;
 
 
Mais.... ca marche pas
il ne me fait pas une erreur de programmation ou de logique mais il me dit ke la nouvelle fonction n'a pas le meme prototype que celle demandé par la fonction OnClick
'can not convert void fastcall closur machin in fascall machin'
Si quelqu'un a déjà eu affaire a ce probleme ou si quelqu'un a une idée a me soumettre.. je lui en serais tres reconnaissant.
merci d'avance.
Emilia P.
emilia123@caramail.com

Reply

Marsh Posté le 10-02-2002 à 14:55:34   

Reply

Marsh Posté le 10-02-2002 à 15:04:37    

C'est parceque ta nouvelle fonction doit avoir exactement le même prototype que celui attendu par OnClick
 
par example ces 2 fonctions on le meme prototype :
 
int quitter(TObject *Sender);
int fermer(TObject *Sender);
 
mais celle-la n'ont pas le meme prototype :
 
void fonctionA(void);
int fonctionB(void);
void fonctionC(int param);

Reply

Marsh Posté le 10-02-2002 à 15:49:57    

voila le message d'erreur...
Cannot convert 'void (_fastcall *)(TObject *)' to 'void (_fastcall * (_closure )(TObject *))(TObject *)
 
 
mais qu'est ce qu'un '_closure' ?????????  
c'est la meme déclaration a part que l'un n'est pas closure et que l'autre l'est....
je sais pas comment faire moi

Reply

Marsh Posté le 10-02-2002 à 16:02:17    

Je ne connais pas bien C++Builder désolé, mais au vu des quelques examples que j'ai sous la main, la fonction lancertche doit être une méthode d'une classe héritant de TObject et ne peut pas être une fonction indépendante.

Reply

Marsh Posté le 10-02-2002 à 16:07:40    

tu parle d'exemple... pourais tu me les envoyer par mails car la je suis perdue et j'y comprend plus rien.
emilia123@caramail.com

Reply

Marsh Posté le 10-02-2002 à 16:16:47    

J'ai un "tutorial/intorduction" en pdf mais il fait 700 ko environ. Je l'ai envoyé mais je ne sais pas si ta boite mail acceptera un fichier de cette taille.

Reply

Marsh Posté le 10-02-2002 à 17:02:47    

merci.
je suis en train de le regarder... c'est putain de chaud....
oulala je sens que mon mal de tete n'es pas pres de se terminer.

Reply

Marsh Posté le 14-02-2002 à 18:53:25    

j'avous ke j'ai du mal. :pt1cable:  
Si quelqu'un a un exemple de code source traitant du sjuet ca m'aiderais beaucoup.
Merci

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed