Conversion Csharp => VB ou VB.Net [Résolu]

Signaler
Messages postés
2641
Date d'inscription
mercredi 2 juin 2004
Statut
Membre
Dernière intervention
8 janvier 2014
-
Messages postés
78
Date d'inscription
samedi 18 septembre 2004
Statut
Membre
Dernière intervention
5 janvier 2007
-
Salut à tous je recherche à traduire le code CSharp suivant en VB ou VB.Net. Merci pour votre aide.

private System.Timers.Timer SaveTimer;

using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.ServiceProcess;

namespace TestTimerService
{
public class Service1 : System.ServiceProcess.ServiceBase
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.Container components = null;
private System.Timers.Timer SaveTimer;

public Service1()
{
// This call is required by the Windows.Forms Component Designer.
InitializeComponent();

}

// The main entry point for the process
static void Main()
{
System.ServiceProcess.ServiceBase[] ServicesToRun;

// More than one user Service may run within the same process. To add
// another service to this process, change the following line to
// create a second service object. For example,
//
// ServicesToRun = new System.ServiceProcess.ServiceBase[] {new Service1(), new MySecondUserService()};
//
ServicesToRun = new System.ServiceProcess.ServiceBase[] { new Service1() };

System.ServiceProcess.ServiceBase.Run(ServicesToRun);
}

/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
this.SaveTimer = new System.Timers.Timer(100);
//
// SaveTimer
//
this.SaveTimer.Elapsed += new System.Timers.ElapsedEventHandler(this.SaveTimer_Tick);
//
// test timer service
//
this.ServiceName = "Test Timer Service";
}

/// <summary>
/// Clean up any resources being used.
/// </summary>
protected override void Dispose( bool disposing )
{
if( disposing )
{
if (components != null)
{
components.Dispose();
}
}
base.Dispose( disposing );
}

/// <summary>
/// Set things in motion so your service can do its work.
/// </summary>
protected override void OnStart(string[] args)
{
SaveTimer.Enabled = true;
}

/// <summary>
/// Stop this service.
/// </summary>
protected override void OnStop()
{
}
private void SaveTimer_Tick(object sender,System.Timers.ElapsedEventArgs e)
{
// Do something here
}
}
}

Chris...
Firstruner

4 réponses

Messages postés
656
Date d'inscription
mercredi 22 août 2001
Statut
Membre
Dernière intervention
11 mars 2005
13
Ton Timer ne réagit pas pour une bonne raison:
Le Control Timer ne crée pas de Thread pour s'exécuter, il utilise le Thread en cours.
Or, un service en .NET lors que tu cliques sur "Démarrer", lance la méthode OnStart dans un Thread (le premier) puis à la fin de cette méthode, ce Thread se termine. Et don ton Timer aussi.

Pour remédier à ce souci, il te faut créer un Thread d'exécution pour ton service dans la méthode OnStart, et ce sera ce Thread qui exécutera le corps de ton service. D'autre part, il s'agit de la méthode la plus correcte de développer un service en .NET.

Membre du Labo .NET
gg00xiv's Blog
Messages postés
2368
Date d'inscription
mardi 17 avril 2001
Statut
Modérateur
Dernière intervention
26 décembre 2007
20
Tu te fou de nous ????

C'est quasiment le code de base généré par VS.NET quand tu crée un nouveau service en c#. Pour avoir la version VB tu crées un nouveau service dans les projets VB ....

::|The S@ib|::
MVP C#.NET
Messages postés
2641
Date d'inscription
mercredi 2 juin 2004
Statut
Membre
Dernière intervention
8 janvier 2014
14
Hmm tu est bien gentil TheSaib, mais je connais rien au CSharp. Mais effectivement c'est bien pour un service VB, mon pb c'est que j'ai un timer qui n'est pas pris en charge, c'est à dire il ne se lance jamais.
As-tu une solution ?

Chris...
Firstruner - eMail : [mailto:support@firstruner.com Support]
Messages postés
78
Date d'inscription
samedi 18 septembre 2004
Statut
Membre
Dernière intervention
5 janvier 2007

Salut un convertisseur c# --> vb.net et inverssement, il y en a un dans sharpdevellop

Bonne prog et @++++