2013-08-19 4 views
0

다음 코드를 사용하여 TMS Cloud 구성 요소를 사용하여 Google 캘린더에 새 항목을 추가하십시오. 데이터베이스의 테이블에 새 항목이 있으며 추가되었습니다. OK 하지만 또한 항목을 업데이트 할 수 있기를 원하지만 어떤 도움도 찾을 수 없습니다. 컨트롤과 함께 제공되는 데모에는 옵션이 있지만 캘린더의 모든 항목을로드하고 거기에서 편집 할 항목을 선택하지 않으려합니다. 주어진 entryID를 저장하고이를 사용하여 업데이트하려고합니다. DevExpress에는 Outlook 캘린더와 테이블을 동기화 할 수있는 옵션이 있습니다 (매우 훌륭하게 작동합니다). 그래서 TMS로 할 수 있어야한다고 생각합니다.TMS Cloud 구성 요소를 사용하여 기존 Google 캘린더 항목을 업데이트하십시오.

질문 : 캘린더 항목의 ID는 어떻게 얻습니까? 테이블을 생성 할 때 레코드를 테이블에 저장하고 나중에 업데이트에 사용할 수 있습니까?

var 
    ci: TGCalendarItem; 
begin 
     AdvGCalendar.App.Key := Settings.Google.Key; 
     AdvGCalendar.App.Secret := Settings.Google.Secret; 
     AdvGCalendar.Logging := true; 

     if not AdvGCalendar.TestTokens then 
     AdvGCalendar.RefreshAccess; 

     if not AdvGCalendar.TestTokens then 
     AdvGCalendar.DoAuth 
     else 
     Connected := True; 

     ci := AdvGCalendar.Items.Add; 

     AdvGCalendar.GetCalendars(); 
     ci.CalendarID := Settings.Google.Calendar; 
     if ci.CalendarID <> '' then 
     begin 
      ci.Location  := CiLocation; 
      ci.Description := CiDescription; 
      ci.Summary  := CiSummary; 
      ci.StartTime := EncodeDateTime(YearOf(StartDate), MonthOf(StartDate), DayOf(StartDate), HourOf(StartTime), MinuteOf(StartTime), 0, 0); 
      ci.EndTime  := EncodeDateTime(YearOf(StopDate), MonthOf(StopDate), DayOf(StopDate), HourOf(StopTime), MinuteOf(StopTime), 0, 0); 
      ci.IsAllDay  := False; 
      ci.Visibility := viPrivate; 
      AdvGCalendar.Add(ci); 
     end; 
end; 

답변

0

이 문제는 ID가 반환되지 않도록 구성 요소를 사용하고있는 버전에 오류가 있다는 사실과 관련이있었습니다.

최신 버전으로 업그레이드하면 문제가 해결되었습니다.

관련 문제