Bonjour à tous,
J'ai un problème qui me taquine depuis un moment, mais que je mets tjr un peu de coté n'ayant pas trouvé la solution.
Pour vous montrez un peux mon projet j'ai deux classes:
CVoitureSD qui rempli une structure
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 public partial class Program { // This method is run when the mainboard is powered up or reset. void ProgramStarted() { //statusVoiture ETATVOITURE; Debug.Print("Program Started"); CVoitureSD voiture = new CVoitureSD(); CCarteSD carteSD = new CCarteSD(); } }
et
CCarteSD qui doit écrire les valeur de la structure dans une carte Sd
Mon problème étant que je déclare la structure statusVoiture dans la classe CVoitureSD mais je ne sais pas comment "l'envoyer" dans la classe CCarteSD.
ici pour simplifier j'ai un Timer qui vient tout les 3 secondes changer les valeurs de la structure ( ici c'est toujours la même mais c'est un exemple)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 Class CVoitureSD { private statusVoiture m_etat; GT.Timer m_timerCalculs; public CVoitureSD() { m_timerCalculs = new GT.Timer(3 * 1000); m_timerCalculs.Tick += m_timerCalculs_Tick; m_timerCalculs.Start(); } void m_timerCalculs_Tick(GT.Timer timer) { m_etat.m_vitesseProgrammeeMoteur = 5; m_etat.m_vitesseReelleMoteur = 4; } public struct statusVoiture { // information protocole : public ushort m_vitesseProgrammeeMoteur; public ushort m_vitesseReelleMoteur; }
Et en gros je veux envoyer la struct m_etat vers la class CCarteSD
J'ai essayé la structure en référence mais je sais pas trop j'ai pas trop réussi.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 class CCarteSD { GT.Timer m_timerCopieEtatSD; const int periode = 5;//5 secondes statusVoiture m_donnees; public CCarteSD() { m_timerCopieEtatSD = new GT.Timer(periode * 1000); m_timerCopieEtatSD.Tick += m_timerCopieEtatSD_Tick; m_timerCopieEtatSD.Start(); } void m_timerCopieEtatSD_Tick(GT.Timer timer) { writeXML(m_etat); //BON LA ÉVIDEMMENT CA MARCHE PAS MAIS C'EST ici que je voudrais que la structure m_etat de la classe CVoitureSD arrive pour écrire avec la méthode writteXML() } public void writeXML(statusVoiture m_donnees) { //je vous épargne tout ça :) }
Car j'ai un autre soucis dans la classe CVoitureSD les valeurs de la structure change toutes les 3 secondes donc il faut grosso modo que je mets a jour la structure de la CCarteSD qui doit copié tout les 5 secondes sur les info de cette structure.
Bon je vais arrêter de tartiner mon problème je vous expliquerais précisément les point que vous ne comprenez pas.
J’espère que vous allez pouvoir m'aider ça fait bien 3 mois j'ai ce problème et la je sature Help me please
Bonne journée a vous et merci a ce qui on prit le temps de lire tout ça.
Partager