16/12/2018, 00:53:31
(05/12/2016, 15:41:11)mil3d a écrit : Bon... déjà j'ai réussi à faire ce que je voulais pour écouter le bus.. en tout cas en C#.
Pour Windev, je rame toujours.
La méthode (l'événement?) pour écouter toute activité sur le bus est Bus.GroupValueReceived Event
Ça me renvoi (ou plutôt ça me permet d'utiliser au sein d'une procédure encapsulée) un GroupValueEventArgs qui contient l'adresse de groupe de cet événement et sa valeur.
Code :using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Knx.Falcon.Sdk;
using Knx.Bus.Common.Configuration;
using Knx.Bus.Common;
using Knx.Bus.Common.GroupValues;
namespace WindowsFormsApplication1
{
//déclaration de la fenêtre
public partial class Form1 : Form
{
//déclare et initialise une variable globale bus
public Bus bus = new Bus(new KnxIpTunnelingConnectorParameters("192.168.0.21", 0x0e57, false));
public Form1()
{
InitializeComponent();
//Se connecte au bus
bus.Connect();
//lance l'écoute du BUS
EcouteLeBus();
}
//procedure pour lancer l'écoute du bus et afficher un msgbox() en cas de réception d'événement.
private void EcouteLeBus()
{
bus.GroupValueReceived += eventargs =>
{
//affiche un MsgBox() avec comme texte l'adresse de groupe qui a changé suivi de sa nouvelle valeur
MessageBox.Show(eventargs.Address.ToString() + " -> " + eventargs.Value.ToString(), "MonTitre_MsgBox",
MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
};
}
}
}
J'essaie maintenant de traduire ça en Windev mais je n'y arrive pas encore.
C'est cette encapsulation eventargs => UneProcedureEncapsulee qui me pose problème en Windev et que je n'arrive pas à reproduire.
Hello,
Je ne trouve simplement pas l'évennement Bus.GroupValueReceived
En quelle version de Falcon as-tu cet évennement ? Je suis en 5.6 et ne le vois pas