laufen inaktive form weiter ?

Für alles, was in den übrigen Lazarusthemen keinen Platz, aber mit Lazarus zutun hat.
Antworten
wbeppler
Beiträge: 131
Registriert: So 20. Jul 2014, 10:27
OS, Lazarus, FPC: kubuntu, raspbian, laz 1.2 / 0.9 microcontroller
CPU-Target: 8-64 bit
Wohnort: bodensee
Kontaktdaten:

laufen inaktive form weiter ?

Beitrag von wbeppler »

hi,

ich hab mir ein menue gestaltet mit dem ich verschiedene form's aufrufe, so wie das allgemein ueblich ist.

wenn ich nun in einer form den inhalt einer mit ZEOS connection und query auf datasoure und grid letzlich daten zur anzeige bringe

und dann

in einer anderen form (also ich schliesse die erste und gehe ueber menue zur 2ten) die daten veraendere, die veraenderung kontrolliere ich mit HeidiSQL denn es ist eine MariaDB., also mich von der aenderung ueberzeuge, und nun die erste form wieder aufmache, so hat diese immer noch die alten daten.

es geht um eine anwesenheits-anzeige wo die sekretaerin eine korrekktur-form bekommen soll. wenn ich in der ersten form (anwesenheisinfo) einen timer rein mache um die ansicht zu aktualisieren (ich mach das derzeit mit ZQuery1.active := false und ZConnection1.connected := false...und dann wieder connect und true) dann verliert mir die 2te form OBWOHL die erste foorm zu ist, die sqlverbindung, also kommt ein fehler...

was verstehe ich da nun nicht ? bzw was mache ich falsch ?

wie aktualisiere ich daten richtig ?
weshalb werden die aenderungen (obwohl ja in der db vollzogen) in der anderen form nicht aktualisiert ? ausser ich mach wie eben beschrieben active flase und connectted weg und zurueck ???

weshalb verliere ich dann in der anderen form die sql-connection ???

muss ich denn alles in einer connection machen auch wenn ich in mehreren forms die daten brauche ?
wo gibt es ein Zeos-Tutorial das bissele tiefer geht als klick, klick ?

danke vorab

gruss
w. :-)

hde
Beiträge: 556
Registriert: Mi 11. Aug 2010, 02:56

Re: laufen inaktive form weiter ?

Beitrag von hde »

so ganz verstehe ich deine Vorgehendweise noch nicht.

wbeppler hat geschrieben:wo gibt es ein Zeos-Tutorial das bissele tiefer geht als klick, klick ?

sowas fehlt meist bei open Source

wbeppler hat geschrieben:und nun die erste form wieder aufmache, so hat diese immer noch die alten daten.

korrekt, die ZQuery liest die Daten von Server und hält sie lokal vor bis du sie änderst oder neu einliest

wo ist denn die ZConnection1 für die 2. Form? Ist das die auf der ersten welche du schließt und neu öffnest? Dann musst du auch die ZQuery für die 2.Form neu öffnen.
Frohe Restostern hde

Nachtrag:
Den Connect musst du für den Refresh nicht unterbrechen

wbeppler
Beiträge: 131
Registriert: So 20. Jul 2014, 10:27
OS, Lazarus, FPC: kubuntu, raspbian, laz 1.2 / 0.9 microcontroller
CPU-Target: 8-64 bit
Wohnort: bodensee
Kontaktdaten:

Re: laufen inaktive form weiter ?

Beitrag von wbeppler »

hallo hde,

ich hab je form eine connection und eine query und ein dataset und ein grid.
ich mach aus einer (haupt)form mit menue einen aufruf zu der (anwesenheits)form. da zeige ich alle datensaetzte an die im feld "anwesend" eine 1 haben.
nun gibt es eine (korrektur)form die ich auch aus dem menue der (haupt)form raus aufrufen kann, die ist dazu da, wenn die daten mal nicht stimmen z.b. manuell aus der 1 ne 0 zu machen.
nun sollte wenn ich in der (korrektur)form was aendere (aus 1 mach 0 oder andersrum) sich das in der (anwesenheits)form auch aendern weil da ja select * from da_weg where anwesend = 1 steht

hab heute nochmal ausprobiert, wenn ich in einer der beiden form die query (obwohl das ne eigene query in der jeweiligen form ist) oder die connection (je form eine eigene) schliesse erhalte ich z.b. ion der anderen form "MySQL-Server gone" fehler. aber was nun funtioniert ist wenn ich ZQuery1.refresh mache, dass dann der richtige inhalt angezeigt wird.

nun eine KONKRETE frage
mach ich da was falsch wenn ich mehrere connection und/oder mehrere querys habe ? wenn die eh sich gegenseitig rein funken, wie mache ich das dann ueber mehrere forms hinweg ?

und:
bleiben die Objekte wie z.b. die abfrage der forms bestehen wenn ich die form mit klick rechts oben zu mache ? laufen die etwa weiter ? laufen die Datenverbindungen weiter ?

gruss und dank

w. :-)

Benutzeravatar
theo
Beiträge: 10497
Registriert: Mo 11. Sep 2006, 19:01

Re: laufen inaktive form weiter ?

Beitrag von theo »

wbeppler hat geschrieben: wenn die eh sich gegenseitig rein funken, wie mache ich das dann ueber mehrere forms hinweg ?

z.B.
http://www.freepascal.org/docs-html/rtl ... odule.html
Datei -> Neu -> Datenmodul

hde
Beiträge: 556
Registriert: Mi 11. Aug 2010, 02:56

Re: laufen inaktive form weiter ?

Beitrag von hde »

hallo wbeppler,

der Link von theo sagt eigentlich schon alles, die ZConnection (eine pro Programm) und die ZQuerys gehören aufs DataModule.
Und dann kommt sich eigentlich nichts in die Quere. Bedenke nur, jede Query (nicht nur bei Zeos sondern immer) hält ein eigenes Dataset mit den selektierten Daten vor

wbeppler
Beiträge: 131
Registriert: So 20. Jul 2014, 10:27
OS, Lazarus, FPC: kubuntu, raspbian, laz 1.2 / 0.9 microcontroller
CPU-Target: 8-64 bit
Wohnort: bodensee
Kontaktdaten:

Re: laufen inaktive form weiter ?

Beitrag von wbeppler »

so, jetzt habe ich wieder was dazu gelernt und auch einmal ein datamodule gemacht und nun sind die stoerenden nonvisibles weg, danke

aber leider aendert das noch nix daran dass ich nicht weiss wie ich "richtig" mit updates umgehen muss damit diese in anderen forms auch angezeigt werden wenn die in der db geaendert sind :-(

ich habe festgestellt dass wen nich die zeile in de rgrid wechsel, findet die aktualisierung auf dem server statt. wer macht das ? die query oder das dataset ?
wenn ich nun die zeile nicht wechsle nur die spalte ein weiter geh, wie kann ich das dann von hand anstossen ?

was ist der richhtige befehl um in der anderen for die daten neu zu lesen ? am besten ohne die record-position zu verlieren ?

gruss und dank

w

hde
Beiträge: 556
Registriert: Mi 11. Aug 2010, 02:56

Re: laufen inaktive form weiter ?

Beitrag von hde »

Wenn dir die Grundkenntnisse fehlen google nach einem Tutorial

Antworten