AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Problem mit cxScheduler

Ein Thema von bwolf · begonnen am 22. Aug 2012 · letzter Beitrag vom 23. Aug 2012
 
bwolf

Registriert seit: 17. Jan 2006
368 Beiträge
 
Delphi 2009 Professional
 
#1

Problem mit cxScheduler

  Alt 22. Aug 2012, 13:33
Hi,

ich habe ein kleines Problem mit dem cxScheduler.
Ich versuche mal anhand von ein paar Codeschnipseln zu erklären was ich vorhabe und woran es hängt.

Im Ereignis OnEventModified ändere ich ein Event "von Hand" ab. Anschließend wird über PostMessage eine Funktion aufgerufen, um eine "ControlBox" zu aktualiieren. Der Umweg über das PostMessage ist nötig da der Scheduler (oder meine Datebankkomponenten) nicht direkt aktualisiert werden.
Der Code sieht so aus:


Code:
procedure TfrmMain.ssKalenderEventModified(Sender: TObject;
  AEvent: TcxSchedulerEvent; var AHandled: Boolean);
begin
  FEventLastModified := TcxSchedulerControlEvent(AEvent);

   ...

  // Verzögertes updataen der Controlbox
  PostMessage(Handle, WM_AFTERMODIFIED, 0,0);
  AHandled := True;
end;
In der Variablen FEventLastModified wird die Referenz auf das zuletzt geänderte Event gespeichert.
Folgende Funktion wird dann vom PostMessage aufgerufen:

Code:
procedure TfrmMain.doUpdate(var msg : TMessage);
begin
  UpdateControlBox(FEventLastModified);
end;
Und UpdateControlBox sieht dann etwa so aus:

Code:
procedure TfrmMain.UpdateControlBox(AEvent : TcxSchedulerEvent = nil);
begin
  mdWarnungen.Close;
  mdWarnungen.Open;
  tsWarnung.ImageIndex := -1;

  lblBezeichnung.Caption := VarToStr(AEvent.GetCustomFieldValueByName('Bezeichnung'));
  ...

end;
Nun habe ich folgendes Problem:
Wenn ich diesen Code debugge und nach dem Aufruf von UpdateControlBox FEventLastModified.ClassName prüfe, passiert folgendes:
Im Beginn von UpdateControlBox ist FEventLastModified.ClassName = 'TcxSchedulerEvent', was auch korrekt ist.
Soblad ich aber auf die Nächste Zeile "mdWarnungen.Close;" ausführe, ist FEventLastModified.ClassName = 'TcxEditStyle', und daraufhin kriege ich beim Zugriff auf AEvent.GetCustomFieldValueByName natürlich eine Exception.


Wenn ich alle zugriffe auf mdWarnungen entferne, funnktionert alles bestens.
Ich kann mir allerdings überhaupt keinen Reim drauf machen was da schief läuft, mdWarnungen hat rein garnichts mit dem Scheduler zu tun...
Jemand einen Rat für mich?

Vielen Dank schonmal!
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:02 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 by Thomas Breitkreuz