Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Outlook 2003 mag 00:00:00 in Einschränkung für Termine nicht (https://www.delphipraxis.net/104722-outlook-2003-mag-00-00-00-einschraenkung-fuer-termine-nicht.html)

HeikoAdams 10. Dez 2007 11:05


Outlook 2003 mag 00:00:00 in Einschränkung für Termine nicht
 
Hallo,
ich kämpfe hier ein wenig mit einem sehr seltsamen Problem.
Um sowohl ganztägige als auch normale Termine auszulesen, verwende ich folgenden Code:
Delphi-Quellcode:
sVon := DateTimeToStr(Date) + ' 00:00:00';
sBis := DateTimeToStr(EndOfTheWeek(Date));

sFilter := '([Start] >= ' + QuotedStr(sVon) + ' AND [End] <= ' +
  QuotedStr(sBis) +
  ') OR ([Start] >= ' + QuotedStr(Copy(sVon, 1, 10)) + ' AND [End] <= ' +
  QuotedStr(Copy(sBis, 1, 10)) + ')';

NewOlInstance := (FindWindow('rctrl_renwnd32', nil) = 0);

Outlook := TOutlookApplication.Create(Application);
Outlook.Connect;

NmSpace := outlook.GetNamespace('MAPI');
NmSpace.Logon('', '', False, False);

Termine := NmSpace.GetDefaultFolder(olFolderCalendar);

GefilterteTermine := Termine.Items.Restrict(sFilter);
GefilterteTermine.Sort('Start');
Mit Outlook 2K7 gibt es keine Probleme, bei Outlook 2K3 kommt jedoch jedesmal die Fehlermeldung
Zitat:

Typkonflikt oder der Wert "10.12.2007 00:00:00" in der Bedingung ist ungültig.
:wiejetzt:

Hat hier jemand ne Idee, wie ich das Problem für Outlook 2K3 beheben kann?

HeikoAdams 27. Jun 2008 10:01

Re: Outlook 2003 mag 00:00:00 in Einschränkung für Termine n
 
Gefahr erkannt, Gefahr gebannt:
Delphi-Quellcode:
sVon := DateTimeToStr(Date) + ' 00:00:00';
sBis := DateTimeToStr(EndOfTheWeek(Date));

sFilter := '([Start] >= ' + QuotedStr(sVon) + ' AND [End] <= ' +
  QuotedStr(sBis) +
  ') OR ([Start] >= ' + QuotedStr(Copy(sVon, 1, 10)) + ' AND [End] <= ' +
  QuotedStr(Copy(sBis, 1, 10)) + ')';

sFilter2 := '([Start] >= ' + QuotedStr(Copy(sVon, 1, 10)) + ' AND [End] <= ' +
    QuotedStr(Copy(sBis, 1, 10)) + ')';

NewOlInstance := (FindWindow('rctrl_renwnd32', nil) = 0);

Outlook := TOutlookApplication.Create(Application);
Outlook.Connect;

NmSpace := outlook.GetNamespace('MAPI');
NmSpace.Logon('', '', False, False);

Termine := NmSpace.GetDefaultFolder(olFolderCalendar);

GefilterteTermine := Termine.Items.Restrict(sFilter);

try
  GefilterteTermine := Termine.Items.Restrict(sFilter);
except
  GefilterteTermine := Termine.Items.Restrict(sFilter2);
end;

GefilterteTermine.Sort('Start');


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:54 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz