18. oktober 2011 - 12:55Der er
7 kommentarer og 1 løsning
Opdatere med Message
Jeg har en statusbar på min Main form som jeg opdaterer via en Message PostMessage(Application.MainForm.Handle, WM_METERUPDATE, Query.RecordCount, Query.RecNo);
Det virker for så vidt meget fint bortset fra at jeg gerne ville have flere data med over til opdatering.
Jeg overvejer lidt hvordan jeg kan gøre det smartest, men jeg synes ikke jeg kan finde noget helt vildt smart på nettet.
Jeg overvejer så en lidt dirty måde. Lave en Class med de oplysninger jeg skal bruge og sætte dem i mit loop. Sende Message til Main form om at opdatere progressmeter med de oplysninger der er i Class.
Men det er nok ikke den rigtige måde eller hvad.....
Den har jeg også haft kig på. Men jeg synes den er mest til at sende mellem 2 forskellige apps og så er det vel lidt skudt over målet når det er for at jeg vil sende en besked fra en ubit og tilbage til min mainform. Jeg har dog siden opdaget at hvis jeg opdaterer min progressbar på den måde, Så går det sindsygt langsomt med at løbe bare et par tusind records igennem i en tabel. Det forstår jeg ikke helt meningen med.
Hvis det er samme application, er det så ikke bare at opdatere progress fra en direkte funktion eller "event" ?
Men hvis du vil bruge message, kan du jo sagtens have et objekt/variabler/lign liggende på eksempelvis form'en, som defineres før meddelelsen bliver sendt. Når formen modtager meddelelsen er data gemt..
Men du burde kunne bruge en "TNotifyEvent" i stedet, således at du får afsenderen med som argument i kaldet, og kan hente dataene direkte fra deres plads..
Som jeg gør nu har jeg en form med et progressmeter på som jeg bruger som så mange andre eksempler på nettet viser. Men jeg skal have fat på Mainform og Statusform i alle de moduler der skal bruge den. Og hvis jeg læser rigtigt her på nettet så er det ikke god skik at gøre det på den måde. Derfor måden med en Message. Som nævnt ser det dog af en eller anden grund ud til at det går meget langsommere at loope en tabel hvis jeg opdaterer progressbar via messages. Det skal jeg vist have undersøgt lidt nærmere før jeg går videre med at udvide metoden til at have fat i de ekstra oplysninger.
Det er snart jul så man kan lige så godt begynde at dele gaver ud :-)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.