VisualPlanit und Eventdialog?

Rund um die LCL und andere Komponenten
Antworten
TT73GP7
Beiträge: 238
Registriert: Di 29. Mär 2016, 20:45

VisualPlanit und Eventdialog?

Beitrag von TT73GP7 »

Hallo zusammen,

kennt sich jemand mit VisualPlanit aus?
ich würde gerne den Eventdialog per Button öffnen

da gibt es ja extra eine Komponente für (vpEventEditDialog)
nur leider finde ich kein Beispiel und keine Doku zu dem Thema.

Die Funktion AddNewEvent(); macht irgendwie nix
und bei der Funktion Execute (die auch beim Doppelklick auf das Weekgrid ausgerufen wird) weiß ich überhaupt nicht was ich übergeben soll und auch dazu finde ich nix in der Doku bzw als Demo

kann mir da Jemand weiterhelfen?

Viele Grüße
Igor

wp_xyz
Beiträge: 4869
Registriert: Fr 8. Apr 2011, 09:01

Re: VisualPlanit und Eventdialog?

Beitrag von wp_xyz »

Welches VisualPlanIt? Es gibt einige Varianten irgendwo im Netz, nur die auf Lazarus CCR funktioniert unter einem aktuellen Lazarus richtig. In VpDayView, z.B., gibt es eine Methode SpawnEventEditDialog. Hier siehst du, was alles nötig ist, um den Event-Dialog mit Daten zu füllen und zu öffnen. Beachte, dass VisualPlanIt sehr kompliziert wird, wenn man die benötigte Infrastruktur (Datastores, ControlLink) umgeht. Und wenn man die Infrastruktur verwendet, gibt es kaum einen Grund, den Event-Dialog selbst zu öffnen.

Zur Dokumentation: http://wiki.freepascal.org/Turbopower_Visual_PlanIt - hier findest du auch den Download-Link der CCR-Version (oder auch über Online-Package-Manager verfügbar).

TT73GP7
Beiträge: 238
Registriert: Di 29. Mär 2016, 20:45

Re: VisualPlanit und Eventdialog?

Beitrag von TT73GP7 »

Lazarusversion ist: 1.6.4
FPC: 3.0.2

VisualPlanit Version ist die: v1.05 Obwohl ist v1.06 Installiert habe zeigt er das nicht an ;)
das war der Download Link:
http://sourceforge.net/projects/lazarus ... p/download

Warum will ich den Event-Dialog selbst öffnen?
weil ich eigentlich nur mit dem Monatsplaner arbeiten wollte und nicht mit dem Wochenplaner

wp_xyz
Beiträge: 4869
Registriert: Fr 8. Apr 2011, 09:01

Re: VisualPlanit und Eventdialog?

Beitrag von wp_xyz »

Ich habe jetzt etwas mit MonthView herumgespielt, und so könnte es funktionieren: Nimm als Beispiel das Demoprojekt in examples/datastores/bufdataset und füge zum MonthView-OnDbl-Click folgenden Code hinzu:

Code: Alles auswählen

uses
  VpBase, VpEvntEditDlg;
 
procedure TForm1.VpMonthView1EventDblClick(Sender: TObject; Event: TVpEvent);
var
  newEvent: Boolean;
  eventDlg: TVpEventEditDialog;
  allowIt: Boolean;
begin
  newEvent := (Event = nil);
 
  eventDlg := TVpEventEditDialog.Create(nil);
  try
    eventDlg.DataStore := VpMonthView1.Datastore;
    eventDlg.TimeFormat := tf24Hour;
    allowIt := eventDlg.Execute(Event);
  finally
    eventDlg.Free;
  end;
 
  if allowIt then begin
    Event.Changed := true;
    VpMonthView1.DataStore.PostEvents;
    VpMonthView1.Invalidate;
  end else begin
    if newEvent then begin
      VpMonthView1.DataStore.Resource.Schedule.DeleteEvent(Event);
    end;
    vpMonthView1.DataStore.PostEvents;
    vpMonthView1.Invalidate;
  end;
end;


Was noch nicht geht, ist, dass beim Doppelklick auf einem leeren Bereich des MonthView ein leeres Event erzeugt und im Editor bearbeitet wird. Melde dich falls du das so auch brauchst, dann probier ich nochmals mein Glück. Falls du das selbst machen willst, solltest du dir procedure TVpMonthView.WMLButtonDblClick ansehen: Ich würde das in die Anwendung übertragen, aber das "SelectEventAtCoord(Point(Msg.XPos, Msg.YPos))" weglassen, den das verhindert meiner Meinung nach, dass das OnDblClick-Event generiert wird.

wp_xyz
Beiträge: 4869
Registriert: Fr 8. Apr 2011, 09:01

Re: VisualPlanit und Eventdialog?

Beitrag von wp_xyz »

Da das Erzeugen neuer Events im MonthView noch etwas komplizierter ist, habe ich mich entschlossen, dort den Doppelklick zu aktivieren: ein Doppelklick öffnet nun den Event-Editor, ohne eine Ereignisbehandlung für OnEventDblClick schreiben zu müssen. Entweder zum Bearbeiten des angeklickten Events, bzw für die Eingabe eines neuen Events, falls der Doppelklick auf einem leeren Bereich erfolgte. Damit verhält sich MonthView diesbezüglich genauso wie DayView und WeekView. Drag and Drop von Events geht noch nicht.

Bitte verwende die svn-Version im CCR, ich möchte, dass dies zuerst noch ein bisschen getestet wird.

[EDIT]
Jetzt auch mit Drag and Drop von Events von und zu MonthView.

TT73GP7
Beiträge: 238
Registriert: Di 29. Mär 2016, 20:45

Re: VisualPlanit und Eventdialog?

Beitrag von TT73GP7 »

Bitte verwende die svn-Version im CCR ?

Pflegst du die? (oder bist du mit der Entwicklung der Komponente beschäftig?)
wie komme ich da genau dran
SVN und ich sind noch keine Freunde

also das Edit von bestehenden Events geht nun wunderbar nun werde ich mal schauen wie das Neuanlegen geht.

Achso wenn du irgendwas mit der Komponente zutun hast
die ZEOS Anbindung mit Mysql funktioniert noch nicht so ernsthaft

ich musste das mit einen FlexDataStore lösen
wenn du magst kann ich versuchen den Fehler nochmal zu erzeugen und dir genau beschreiben was ich da eigentlich gemacht hab

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6198
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: VisualPlanit und Eventdialog?

Beitrag von af0815 »

TT73GP7 hat geschrieben:Bitte verwende die svn-Version im CCR ?

Pflegst du die? (oder bist du mit der Entwicklung der Komponente beschäftig?)
wie komme ich da genau dran
SVN und ich sind noch keine Freunde

Dann lade dir den ccr komplett herunter (ev. als tarball) und extrhiere halt nur den Teil den du willst. Auf der Seite https://sourceforge.net/p/lazarus-ccr/svn/HEAD/tree/ ganz einfach auf Download Snapshoot gehen.


Ansonsten ist SVN keine Hexerei und Anleitungen gibt es wie Sand am Meer. Und die Zeile für SVN steht eh auch auf https://sourceforge.net/p/lazarus-ccr/svn/HEAD/tree/ . Wenn man SVN installiert hat, so öffnet man eine Konsole, wechselt in das Verzeichnis wo man das hinhaben will und gibt die Zeile ein (oder kopiert) und gut ists.

Andreas
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

wp_xyz
Beiträge: 4869
Registriert: Fr 8. Apr 2011, 09:01

Re: VisualPlanit und Eventdialog?

Beitrag von wp_xyz »

TT73GP7 hat geschrieben:Pflegst du die? (oder bist du mit der Entwicklung der Komponente beschäftig?)

Nachdem ich Schreibrechte auf ccr habe, habe ich das Package im letzten Jahr überarbeitet, an die aktuellen Lazarus/fpc-Versionen angepasst und ein paar Erweiterungen wie die Lazarus-typischen Datastores eingebaut.

TT73GP7 hat geschrieben:die ZEOS Anbindung mit Mysql funktioniert noch nicht so ernsthaft [...]
wenn du magst kann ich versuchen den Fehler nochmal zu erzeugen und dir genau beschreiben was ich da eigentlich gemacht hab

Ja bitte. Den ZEOS-Datastore habe ich mit MySQL nicht getestet (ich kann und will mir nicht alle Datenbanksysteme auf den Rechner laden), und habe mich darauf verlassen, dass ZEOS als Datenbank-unabhängige Zwischenschicht alles richtig macht.

TT73GP7 hat geschrieben:wie komme ich da genau dran

Wie Andreas schon geschrieben hat. Dann noch, falls du auf Windows bist: TortoiseSVN herunterladen und installieren. Ordner anlegen für tvplanit. Rechtsklick darauf im Explorer und "SVN Checkout". In "URL of repository" diesen Link eintragen: https://lazarus-ccr.svn.sourceforge.net ... s/tvplanit. "OK". Beim ersten Mal dauert's etwas. Spätere Versionen mit Rechtsklick und "SVN Update" herunterladen, geht dann ruckzuck.

TT73GP7
Beiträge: 238
Registriert: Di 29. Mär 2016, 20:45

Re: VisualPlanit und Eventdialog?

Beitrag von TT73GP7 »

ok

ich werde das heute erst um 17 Uhr schaffen den Fehler nochmal genau nachzustellen. Mache ich aber gerne.

Gut ich ziehe mir dann erstmal die Aktuellen Sourcen
ich würde dann alles in dem Aktuellen Komponenten Ordner packen und das Package neu installieren.
Gibt es noch etwas zu beachten?

ach und mit verschiedenen Datenbank Systemen durchzutesten wäre für mich kein Problem. Da ich meine Entwicklungsumgebung in einer VM installiert habe und da relativ leicht den alten Stand wieder herstellen könnte ;)

TT73GP7
Beiträge: 238
Registriert: Di 29. Mär 2016, 20:45

Re: VisualPlanit und Eventdialog?

Beitrag von TT73GP7 »

sooo

nun habe ich die Version 1.7 installiert.

Echt gute Arbeit!
sieht super aus und es läuft auch so wie ich es gerne hätte :) (also mit dem FlexDatastore)

kommen wir zum Fehler in VpZEOSDatastore
Also ich habe das grade nachgestellt. Wenn ich den Datastore auf AutoActive := True Setze kann ich die Anwendung garnicht erst Kompilieren.
bzw er Kompiliert sie ohne probleme nur die Andwendung startet nicht.

Was mir auch noch aufgefallen ist das die Prozessorlast gleich auf 100% gegangen ist.

Ich habe das mit Folgenden Systemen Probiert:
Win7 mit 16 GB Ram und einer i7 CPU
Win10 mit 64 GB Ram und einer i7 CPU

Datenbank
MySQL
Lazarus neueste Version

Das Verhalten ist auch das gleiche wenn ich zur Laufzeit auf AutoActive:=True Setze
ich kann leider keine Fehlermeldung schicken da ich keine bekomme.


Kann ich noch was Testen?

TT73GP7
Beiträge: 238
Registriert: Di 29. Mär 2016, 20:45

Re: VisualPlanit und Eventdialog?

Beitrag von TT73GP7 »

hey ho nochmal,

ich habe noch einen Fehler im Eventdialog? gefunden.
wenn ich ein bestehendes Event per Doppelklick aus dem Jahresplaner öffne und anschließend. Oben Rechts mit dem Kreuz Schließe wird das Event gelöscht.
Nicht nur aus dem Grid, Sondern auch aus der Datenbank.

:(
das ist leider etwas nervig :(

wp_xyz
Beiträge: 4869
Registriert: Fr 8. Apr 2011, 09:01

Re: VisualPlanit und Eventdialog?

Beitrag von wp_xyz »

Probier's mal mit der aktuellen Version (r5992) im svn.

TT73GP7
Beiträge: 238
Registriert: Di 29. Mär 2016, 20:45

Re: VisualPlanit und Eventdialog?

Beitrag von TT73GP7 »

hach

ein Traum :)
vielen dank

TT73GP7
Beiträge: 238
Registriert: Di 29. Mär 2016, 20:45

Re: VisualPlanit und Eventdialog?

Beitrag von TT73GP7 »

was mir noch fehlt ist sowas hier:

http://www.tmssoftware.com/site/img/TVGuide_iOS_FMX.png


Schön wäre es das auf Monatsbasis zuhaben, Also oben die Tage eines Monats und in den Zeilen die Ressourcen.
Hat da jemand eine Idee mit welcher Komponente ich das Umsetzen könnte?

Antworten