2 votes

Impossible de convertir une fonction en délégué

J'ai cette fonction

 private ulong Html(ubyte[] data)
  {
    return data.length;
  }

que je veux convertir en délégué en utilisant la fonction toDelegate(). Je l'ai essayé:

client.onReceive = toDelegate(&Html);

Mais je reçois un message d'erreur:

lixo.d(722): Erreur : ce n'est pas une propriété client.onReceive
/home/$/D/libs/arsd/dom.d(743): Avertissement : l'instruction n'est pas atteignable
/usr/include/d/dmd/phobos/std/range.d(595): Erreur : assertion statique  "Cannot put a dchar[] into a Appender!(char[])"
/usr/include/d/dmd/phobos/std/format.d(1758):        instancié depuis ici: put!(Appender!(char[]),dchar[])
/usr/include/d/dmd/phobos/std/format.d(1514):        instancié depuis ici: formatRange!(Appender!(char[]),dchar[],char)
/usr/include/d/dmd/phobos/std/conv.d(101):        instancié depuis ici: formatValue!(Appender!(char[]),dchar[],char)
/usr/include/d/dmd/phobos/std/conv.d(757):        ... (1 instances, -v pour afficher) ...
/usr/include/d/dmd/phobos/std/conv.d(244):        instancié depuis ici: toImpl!(char[],dchar[])
/home/$/libs/arsd/dom.d(2115):        instancié depuis ici: to!(dchar[])

Comment corriger cela?

0voto

jpf Points 517

Je suppose que la bibliothèque /home/$/D/libs/arsd/dom.d a une structure ou une classe appelée 'Html'. Essayez de renommer votre fonction 'Html' en quelque chose d'autre et voyez si cela aide.

Si cela ne fonctionne toujours pas, vous devrez probablement nous montrer plus de code car votre exemple semble fonctionner correctement pour moi : http://dpaste.dzfl.pl/fd729f3d

(J'ai déjà vu des erreurs similaires. Pour une raison quelconque, l'erreur "not a property" survient souvent depuis dmd 2.060 même si l'erreur réelle n'est pas liée.)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X