PocketOutlook - Termine erstellen
Hallo
Ich habe mich mal daran versucht, ein kleines Tool zum erstellen von Geburtstagseinträgen aus allen in der Kontakt-DB vorhanden Geburtstagen.
Ja, ich weiss, dass Outlook dies beim Synchronisieren erledigt - nur leider darf ich nicht mit Outlook syncen (Firma...).
Meine Applikation klappert alle Kontakte ab und erstellt einen neuen Kalendereintrag für jeden gefundenen Geburtstag (sofern noch kein Eintrag vorhanden ist).
Nun bin ich auf einige Ungereimtheiten gestossen, welche ich weder mit Doku, noch mit Google aufklären konnte:
Ab und zu erhalte ich beim Erstellen des wiederkehrenden Kalender-Eintrags die Fehlermeldung 'MonthOfYear can only be set on Yearly and YearNth recurrence patterns. Change the RecurrencePattern.RecurrenceType property first.'
Den RecurrenceType setze ich aber jeweils vor dem MonthOfYear property.
Hier mal ein code-Schnipsel:
if (addNewEntry)
{
Appointment newBirthdayAppointment = mySession.Appointments.Items.AddNew();
newBirthdayAppointment.Body = birthdayBody;
newBirthdayAppointment.Subject = birthdaySubject;
newBirthdayAppointment.Sensitivity = Sensitivity.Private;
newBirthdayAppointment.Start = currContact.Birthday;
newBirthdayAppointment.End = currContact.Birthday;
newBirthdayAppointment.AllDayEvent = true;
newBirthdayAppointment.Update();
newBirthdayAppointment.RecurrencePattern.RecurrenceType = RecurrenceType.Yearly;
newBirthdayAppointment.RecurrencePattern.MonthOfYear = (Month)currContact.Birthday.Month;
newBirthdayAppointment.RecurrencePattern.DayOfMonth = currContact.Birthday.Day;
newBirthdayAppointment.RecurrencePattern.PatternStartDate = currContact.Birthday;
newBirthdayAppointment.RecurrencePattern.NoEndDate = true;
newBirthdayAppointment.Update();
}
Das Problem tritt da auf, wo ich .MonthOfYear setze, aber wie gesagt: manchmal kann ich 15 Einträge hintereinander ohne Probleme erstellen, ein anderes mal krachts gleich beim ersten.
NB: Ohne den Update() Call in der Mitte kam (immer) eine Win32 Exception zu fliegen. Vielleicht kann mir das auch jemand erklären?
Wäre cool, wenn jemand einen Tipp hätte, wo das Problem liegen könnte...
Grüsse
Patrik
ps: wie man vielleicht aus dem Code schon sieht - das ist mein erstes C# .Net Programm (allerdings programmiere ich schon über 10 Jahre C/C++).
AW: PocketOutlook - Termine erstellen
Zitat:
newBirthdayAppointment.RecurrencePattern.MonthOfYe ar
newBirthdayAppointment.RecurrencePattern.DayOfMont h = currContact.Birthday.Day;
da sind Tippfehler, die Leerzeichen ist zu viel ;-) Oder ist das nur beim Einfügen hier passiert?
AW: PocketOutlook - Termine erstellen
eine Reihe weiter unten auch nocheinmal "newBirthdayAppointment.RecurrencePattern.PatternSt artDate = currContact.Birthday;"
AW: PocketOutlook - Termine erstellen
Zitat:
Zitat von
yjeanrenaud
da sind Tippfehler, die Leerzeichen ist zu viel ;-) Oder ist das nur beim Einfügen hier passiert?
Das muss beim copy/paste von VS2008 ins Forum passiert sein. Der code compiliert und läuft (wie beschrieben) auf dem Simulator und auch auf meinem Gerät (HTC Touch).
/Patrik
AW: PocketOutlook - Termine erstellen
Ok. Dann muss ich mir das genauer anschauen. Eigentlich müsste das so klappen. Vielleicht läuft dein Tool zu schnell durch? Ich hatte bisher keine Probleme mit den Kallendersachen, habe aber auch nicht .net genutzt sondern VB oder C.