IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

Librairie Ical.net et concaténation de planning [Débutant]


Sujet :

ASP.NET

  1. #1
    Futur Membre du Club
    Inscrit en
    Février 2009
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 11
    Points : 6
    Points
    6
    Par défaut Librairie Ical.net et concaténation de planning
    Bonjour,

    J'ai crée une classe property qui possède entre autre comme attribut un objet de type Calendar, définit dans la librairie Ical.Net. Cet attribut s'appelle calendar.

    Dans cette classe j'ai une methode "Update_Calendar"qui me permet de télécharger sur internet différents calendriers dans un dossier, les lire pour récupérer les évenements, et stocker tout ces événements dans mon attribut calendar.

    voici ma fonction :

    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
    public void Update_Calendar()
    {
        var Temp = new Ical.Net.Calendar();
     
        int i = 0;
        int j = 0;
        string icalText;
        while (i < 5)
        {
            if(Property_channel_URL[i] != "")
            {
               // try
                //{
                    DownloadICS(Property_channel_URL[i], Property_Owner + Property_Name + Property_channel_Name[i] + ".ics");
                    icalText = System.IO.File.ReadAllText(@"C:\chemindacces" + Property_Owner + Property_Name + Property_channel_Name[i] + ".ics");                                      
                    Temp = Ical.Net.Calendar.Load(icalText);
                    while (j < Temp.Events.Count)
                    {
                        calendar.Events.Add(Temp.Events.ElementAt(j));
                        j++;
                    }
                j = 0;
               // } catch { }
            }
            i++;          
        }
    }
    Lors de l'exécution, j'obtiens le message d'erreur suivant à la lignecalendar.Events.Add(Temp.Events.ElementAt(j));, malgré le fait que temp.Events.ElementAt(j) contient bien un evenement... :


    System.NullReferenceException

    HResult=0x80004003

    Message=La référence d'objet n'est pas définie à une instance d'un objet.

    Source=<Impossible d'évaluer la source de l'exception>

    Arborescence des appels de procédure :

    <Impossible d'évaluer l'arborescence des appels de procédure de l'exception>

    Pourriez vous m'aider à trouver le problème car je ne comprend pas pourquoi ?

    Merci

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    777
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 777
    Points : 1 077
    Points
    1 077
    Par défaut
    Et calendar.event est différent de null ?

  3. #3
    Futur Membre du Club
    Inscrit en
    Février 2009
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 11
    Points : 6
    Points
    6
    Par défaut
    Non, calendar.Events est vide car je dois lui charger des événements.

  4. #4
    Expert éminent
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 147
    Points : 7 392
    Points
    7 392
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par mortaurat Voir le message
    Non, calendar.Events est vide car je dois lui charger des événements.
    Vide ou null ?

    Il faut initialiser ta collection pour pouvoir ajouter des éléments dedans.
    On ne jouit bien que de ce qu’on partage.

  5. #5
    Futur Membre du Club
    Inscrit en
    Février 2009
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 11
    Points : 6
    Points
    6
    Par défaut
    De quelle manière ?

    Pour moi calendar est vide, et je souhaite rajouter des événements, je ne vois pas en quoi celà est un soucis ?

  6. #6
    Expert éminent
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 147
    Points : 7 392
    Points
    7 392
    Billets dans le blog
    1
    Par défaut
    Comment est déclaré ce "calendar" ?

    Vous faites bien un "new" dessus ? Ou au moins une affectation en appelant un initialiseur quelconque ?

    Code csharp : 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
     
    class Chien
    {
         private string _nom;
         public Chien(string nom)
         {
             _nom = nom;
         }
     
         public void Aboie()
         {
             Console.WriteLine(string.Concat(_nom, " aboie : wouaf !");
         }
     
         public static Chien ChienParDefaut()
         {
               return new Chien("Chien par défaut");
         }
    }

    Code csharp : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Chien caniche;
    Chien def;
     
    caniche.Aboie(); // Plante car caniche est null
    def.Aboie(); // Plante car def est null
     
    caniche = new Chien("Caniche"); // Crée une instance de Chien
    caniche.Aboie(); // "Caniche aboie : wouaf !"
     
    def = Chien.ChienParDefaut();
    def.Aboie(); // "Chien par défaut aboie : wouaf !"
    On ne jouit bien que de ce qu’on partage.

  7. #7
    Futur Membre du Club
    Inscrit en
    Février 2009
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 11
    Points : 6
    Points
    6
    Par défaut
    Calendar est déclaré comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     public Ical.Net.Calendar calendar;
    Dans le wiki de la librairie (https://github.com/rianjs/ical.net/wiki) celà n'a pas l'air de poser de soucis...

  8. #8
    Expert éminent
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 147
    Points : 7 392
    Points
    7 392
    Billets dans le blog
    1
    Par défaut
    Ben il manque un peu cette ligne...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var calendar = new Calendar();
    On ne jouit bien que de ce qu’on partage.

  9. #9
    Futur Membre du Club
    Inscrit en
    Février 2009
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 11
    Points : 6
    Points
    6
    Par défaut
    <3

    Je pensais que cela était fait de manière implicite lors de la déclaration.

    Celà semble fonctionner maintenant...

    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 08/06/2016, 11h10
  2. Connexion SSL multiple - Librairie SSH-net/Multi
    Par Invité dans le forum Ruby
    Réponses: 2
    Dernier message: 18/01/2015, 12h16
  3. [VB.NET] Une histoire de planning
    Par Entela dans le forum Windows Forms
    Réponses: 26
    Dernier message: 03/02/2009, 11h39
  4. [VB.NET]Comment faire un planning?
    Par papy27 dans le forum Windows Forms
    Réponses: 7
    Dernier message: 22/08/2006, 17h50
  5. [vb.net] Fenetre en premier plan obsolu
    Par arnolem dans le forum Windows Forms
    Réponses: 4
    Dernier message: 09/12/2005, 11h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo