|
| Form i front ? Fra : Michael Reiler |
Dato : 19-02-05 20:40 |
|
Hej
Jeg har en nød jeg ikke kan knække:
I et flerbrugerprogram, er der et grid, der skal opdateres hvis en anden
bruger har foretaget ændringer på en anden maskine, derfor checker jeg hvert
minut om der er sket ændringer.
Mit problem er at der kun skal opdateres hvis hovedformen er den aktive
form, d.v.s. at hvis brugeren er i et andet vindue, skal der ikke opdateres.
Hvordan checker jeg at min hovedform er den aktive form, Form.Active er ikke
true hvis programmet ikke er det aktive ?
Der skal altså osse opdateres hvis mit program er i baggrunden, men kun hvis
det er hovedvinduet der er det aktive.
Michael
| |
Nicolai Hansen (21-02-2005)
| Kommentar Fra : Nicolai Hansen |
Dato : 21-02-05 13:34 |
|
"Michael Reiler" <Michael@reil_remove_er.dk> wrote in message news:<42179622$0$290$edfadb0f@dread12.news.tele.dk>...
> Hej
>
> Jeg har en nød jeg ikke kan knække:
>
> I et flerbrugerprogram, er der et grid, der skal opdateres hvis en anden
> bruger har foretaget ændringer på en anden maskine, derfor checker jeg hvert
> minut om der er sket ændringer.
> Mit problem er at der kun skal opdateres hvis hovedformen er den aktive
> form, d.v.s. at hvis brugeren er i et andet vindue, skal der ikke opdateres.
>
> Hvordan checker jeg at min hovedform er den aktive form, Form.Active er ikke
> true hvis programmet ikke er det aktive ?
>
> Der skal altså osse opdateres hvis mit program er i baggrunden, men kun hvis
> det er hovedvinduet der er det aktive.
>
> Michael
Kan du bruge OnFormActivate og OnFormDeactivate til at sætte/slette et
flag (booleansk) om der skal opdateres? Ku være en ret simpel
løsning...
| |
Michael Reiler (21-02-2005)
| Kommentar Fra : Michael Reiler |
Dato : 21-02-05 19:35 |
|
Tak for svaret.
Det var en nærliggende løsning, men de events bliver desværre ikke trigget
når man åbner andre forme med Showmodal, kun hvis man bruge rShow.....
Michael
"Nicolai Hansen" <nic@aub.dk> skrev i en meddelelse
news:d96764ff.0502210434.629c4e28@posting.google.com...
> "Michael Reiler" <Michael@reil_remove_er.dk> wrote in message
> news:<42179622$0$290$edfadb0f@dread12.news.tele.dk>...
>> Hej
>>
>> Jeg har en nød jeg ikke kan knække:
>>
>> I et flerbrugerprogram, er der et grid, der skal opdateres hvis en anden
>> bruger har foretaget ændringer på en anden maskine, derfor checker jeg
>> hvert
>> minut om der er sket ændringer.
>> Mit problem er at der kun skal opdateres hvis hovedformen er den aktive
>> form, d.v.s. at hvis brugeren er i et andet vindue, skal der ikke
>> opdateres.
>>
>> Hvordan checker jeg at min hovedform er den aktive form, Form.Active er
>> ikke
>> true hvis programmet ikke er det aktive ?
>>
>> Der skal altså osse opdateres hvis mit program er i baggrunden, men kun
>> hvis
>> det er hovedvinduet der er det aktive.
>>
>> Michael
>
> Kan du bruge OnFormActivate og OnFormDeactivate til at sætte/slette et
> flag (booleansk) om der skal opdateres? Ku være en ret simpel
> løsning...
| |
Nicolai Hansen (22-02-2005)
| Kommentar Fra : Nicolai Hansen |
Dato : 22-02-05 08:23 |
|
Hej Micahel,
Du kan bruge TForm.Active i dine timers så
procedure TForm1.Timer1Tick(Sender: TObject);
begin
if Active then
LavNoget;
end;
så kører det kun hvis formen har focus.
> Tak for svaret.
>
> Det var en nærliggende løsning, men de events bliver desværre ikke trigget
> når man åbner andre forme med Showmodal, kun hvis man bruge rShow.....
>
> Michael
> > Kan du bruge OnFormActivate og OnFormDeactivate til at sætte/slette et
> > flag (booleansk) om der skal opdateres? Ku være en ret simpel
> > løsning...
| |
Harald (21-02-2005)
| Kommentar Fra : Harald |
Dato : 21-02-05 21:57 |
|
"Michael Reiler" <Michael@reil_remove_er.dk> skrev i en meddelelse
news:42179622$0$290$edfadb0f@dread12.news.tele.dk...
> Hej
>
> Jeg har en nød jeg ikke kan knække:
>
> I et flerbrugerprogram, er der et grid, der skal opdateres hvis en anden
> bruger har foretaget ændringer på en anden maskine, derfor checker jeg
> hvert minut om der er sket ændringer.
> Mit problem er at der kun skal opdateres hvis hovedformen er den aktive
> form, d.v.s. at hvis brugeren er i et andet vindue, skal der ikke
> opdateres.
>
> Hvordan checker jeg at min hovedform er den aktive form, Form.Active er
> ikke true hvis programmet ikke er det aktive ?
>
> Der skal altså osse opdateres hvis mit program er i baggrunden, men kun
> hvis det er hovedvinduet der er det aktive.
Hvis du bruger Modal til alle vinduer kan du evt. bruger
Application.Components til at løbe alle vinduer igennem og se om nogle andre
end hovedformen er synlig.
/HK
| |
|
|