begin process at 2013 05 24 13:57:55
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C#

 > 

Mono

 > 

Général

 > 

changement de "delegate"


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

changement de "delegate"

lundi 17 septembre 2012 à 18:24:36 | changement de "delegate"

j_michel_g

Bonjour à tous,
Je suis en train d'explorer le mécanisme des délégués .... et je me perds !
Tel que je le comprends, c'est du pointeur sur de la fonction !
Bon, c'est certainement plus fin, et très lié à l'évènementiel Windows, mais cette utilisation "pointeur sur fonction" me va bien.
En effet, je voudrais envoyer des lignes de texte lues sur un port série à une méthode sur une classe parente.
Mon problème est que la première ligne est toujours à jeter car incomplète.
Donc mon plan est celui là : ( see lelow )
Toute indication sera la bienvenue.
Merci d'avance

class clSerialPort
{
private SerialPort port;

public delegate void delegateProcess(string s);
public delegateProcess Process;

public clSerialPort(string comport, clNavigateur theNav)
{

port = new SerialPort(comport, 2400, Parity.Even, 8, StopBits.One);

Process = new delegateProcess(theNav.Init);

port.Open();
Console.WriteLine("Port is opened");
System.Console.ReadKey();

if (port.IsOpen)
{
System.Console.ReadKey();
port.Close();
}
}

private void port_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
{
Process((string)port.ReadLine());
}
}


class clNavigateur
{
private clSerialPort theSerPo;

public clNavigateur()
{
// le port serie
theSerPo = new clSerialPort("COM8", this);
}

internal void Processor(string strFromSerial)
{
Console.WriteLine(strFromSerial);

}

internal void Init(string strFromSerial)
{
Console.WriteLine("Init " + strFromSerial); // On jette la première ligne
this.theSerPo.Process = null; // et on change de délégué ...
this.theSerPo.Process = this.Processor; // Mais ca marche pô, theSerPo est toujours null !!! Et je ne sais pas pourquoi
}
}




mardi 18 septembre 2012 à 10:04:59 | Re : changement de "delegate"

louis14

Bonjour,
Je ne veux pas répondre au sujet du delegate.
Mais pourquoi tu jettes la première ligne ?
Est-ce juste après l'ouverture du port série?
Dans ce cas il y a une instruction pour le port série qui permet de vider les tampons de réception et d'émission ( discardInbuffer ou discardOutbuffer il me semble).
http://stackoverflow.com/questions/11571522/clear-serial-port-receive-buffer-in-c-sharp


louis
mardi 18 septembre 2012 à 13:51:36 | Re : changement de "delegate"

j_michel_g



Bonjour,
La première ligne est incomplète, donc non analysable ! Et vider le buffer de réception ne garantit pas la validité de la suite, puisque cela se joue au niveau de l'octet!
JM


Cette discussion est classée dans : port, string, process, console, theserpo


Répondre à ce message

Sujets en rapport avec ce message

help please ; de la console à une winform [ par jege_ieta ] Bonjour, J'aurai besoin d'un coup de main. Je voudrais que la valeur écrit dans la console soit en fait un paramètre et que la valeur retournée dans cs - fonction asynchone [ par jege_ieta ] Bonjour, je recherche de l'aider pour compléter les ????. JE voudrais gérer la classe TestRun dans une winform sans passer par la console pour la lec Manipulation Socket [ par newbie12 ] Bonjour, en fait j'ai un problème de Socket. Je ne peux pas envoyer un nombre infini de socket en C#. Voici mon code source, si vous pouvez identifiez la référence d'objet n'est pas définie à une instance d'un objet [ par haddreezy ] Bonjour, j'ai écrit un programme en c# pour un projet, il a l'air de correctement fonctionner mais j'ai toujours la même phrase à la fin dans ma fenê Comment renvoyer des information venant d'un port série ? [ par mcferson ] Salut ici. alors, partant de ça : [code=cs] public static void Main() { SerialPort mySerialPort = new SerialPort("COM1"); mySer Exception non gérée [ par mano23 ] Bonjour, Je suis nouveau en C# et j'ai un petit problème pour sortir d'une boucle while quand l'utilisateur ne saisit aucune valeur. J'ai une erreur vérification de l'existence de fichier.txt [ par suethi75 ] Bonsoir tout le monde,Voilà je suis en train de créer un qcm, le candidat doit s'inscrire ( sous forme nom.prénom.txt). Cependant je dois vérifier si Substitution string string dans une phrase [debutant] [ par jeanpierre691 ] Salut Bon voilà, je fais actuellement un projet très simple sur C#, je l'ai commencé il n'y a pas longtemps, et pourtant, je rencontre quelques diffi Méthode dans un console.WriteLine [ par spmsbl ] Bonjour Je suis étudiant débutant en c# et j'aimerais avoir de l'aide. j'ai un tableau de String qui a été initialiser au départ et j'ai une methode lecture page web [ par lonzo ] Bonjour à tous, je suis stagiaire en DUT informatique et il ne me reste plus beaucoup de temps, je vais essayer de remplir plus de 20000 formulaires a


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2013
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 6,146 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales