/ Forside / Teknologi / Udvikling / Delphi/Pascal / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Delphi/Pascal
#NavnPoint
oldwiking 603
jrossing 525
rpje 520
EXTERMINA.. 500
gandalf 460
gubi 270
DJ_Puden 250
PARKENSS 230
technet 210
10  jdjespers.. 200
TBitBtn
Fra : Michael Vilhelmsen


Dato : 19-02-04 15:33

Hej

Jeg har lavet et program, hvori man kan oprette nogle poster til en DB.
Når jeg vil oprette en ny, viser jeg et vindue, med nogle indateringsfelter
af forskellige typer.


Nederst på mit vindue har jeg to knapper af TBitBtn. En til godkend og en
til annuller.

En del af mine indateringsfelter har noget kode på OnExit.

Hvis jeg står i f.eks. et TEdit felt, som har kode på OnExit, bliver denne
kode udført når jeg trykker på GODKEND knappen.
Men den bliver IKKE udført, hvis jeg trykker på ALT+G (da jeg har valgt, at
caption på godkend knappen skal være &Godkend).

Dvs. nogle af mine kunder trykker nemlig ALT+G, når de har udfyldt det de
skal.
Det betyder, at jeg nogle gange får jeg ikke udført den kode, som ligger
OnExit, og derved får jeg enten en DB fejl (dobbelt post) eller jeg får
oprettet poster, som egentlig ikke skulle være oprettet.

Kan jeg gøre noget ved det ?

Jeg ønsker ikke, at ændre koden alt for meget, da jeg har tonsvis af sådanne
vinduer i mit program. Det er efterhånden et ret omfattende program.

Michael



 
 
David Konrad (20-02-2004)
Kommentar
Fra : David Konrad


Dato : 20-02-04 00:32

"Michael Vilhelmsen" <smom22@hotmail.com> wrote in message
news:4034c906$0$183$edfadb0f@dread11.news.tele.dk...
> Hej
>
> Jeg har lavet et program, hvori man kan oprette nogle poster til en DB.
> Når jeg vil oprette en ny, viser jeg et vindue, med nogle
indateringsfelter
> af forskellige typer.
>
>
> Nederst på mit vindue har jeg to knapper af TBitBtn. En til godkend og en
> til annuller.
>
> En del af mine indateringsfelter har noget kode på OnExit.
>
> Hvis jeg står i f.eks. et TEdit felt, som har kode på OnExit, bliver denne
> kode udført når jeg trykker på GODKEND knappen.
> Men den bliver IKKE udført, hvis jeg trykker på ALT+G (da jeg har valgt,
at
> caption på godkend knappen skal være &Godkend).
>
> Dvs. nogle af mine kunder trykker nemlig ALT+G, når de har udfyldt det de
> skal.
> Det betyder, at jeg nogle gange får jeg ikke udført den kode, som ligger
> OnExit, og derved får jeg enten en DB fejl (dobbelt post) eller jeg får
> oprettet poster, som egentlig ikke skulle være oprettet.
>
> Kan jeg gøre noget ved det ?
>
> Jeg ønsker ikke, at ændre koden alt for meget, da jeg har tonsvis af
sådanne
> vinduer i mit program. Det er efterhånden et ret omfattende program.

Altså :

Først og fremmest er det udtryk for en fatal designfejl at placere kode som
skriver ned i databasen i selve skærmbilledets events. Skærmbilleders events
kan blive trigget repetetivt og vilkårligt - endda uden brugeren gør noget
aktivt for at trigge dem - og du har ikke selv mulighed for at kontrollere
hvornår og hvordan disse events bliver trigget. Det er meget fy, Wilhelmsen!


Hvis du gerrne vil undgå en generel større omskrivning eller forandring i
layoutet i din kode/form, foreslår jeg du placerer en TActionList på din
form, og opretter to Actions med navnene ActionGodkend og ActionNulstil.
Husk f.eks med ActionGodkend at give den et korrekt hint, captionen
"Godkend" og shortcut'en Alt-G. I disse to Actions OnAction-event placerer
du så koden for henholdsvis godkend og nulstil, og efterfølgende linker du
så de to actions til bitbtn'sne med Action-propertyen - viola, jeg tror dit
problem er løst!



Michael Vilhelmsen (20-02-2004)
Kommentar
Fra : Michael Vilhelmsen


Dato : 20-02-04 08:57

>
> Altså :
>
> Først og fremmest er det udtryk for en fatal designfejl at placere kode
som
> skriver ned i databasen i selve skærmbilledets events. Skærmbilleders
events
> kan blive trigget repetetivt og vilkårligt - endda uden brugeren gør noget
> aktivt for at trigge dem - og du har ikke selv mulighed for at kontrollere
> hvornår og hvordan disse events bliver trigget. Det er meget fy,
Wilhelmsen!
>

Det gør jeg heller ikke.
Jeg laver noget kontrol af, at en given værdi ikke findes i databasen.
Selve oprettelse / indsættelse sker, når mit vindue lukker og returnere til
hovedformen.


>
> Hvis du gerrne vil undgå en generel større omskrivning eller forandring i
> layoutet i din kode/form, foreslår jeg du placerer en TActionList på din
> form, og opretter to Actions med navnene ActionGodkend og ActionNulstil.
> Husk f.eks med ActionGodkend at give den et korrekt hint, captionen
> "Godkend" og shortcut'en Alt-G. I disse to Actions OnAction-event placerer
> du så koden for henholdsvis godkend og nulstil, og efterfølgende linker du
> så de to actions til bitbtn'sne med Action-propertyen - viola, jeg tror
dit
> problem er løst!

Det vil jeg prøve......

Jeg takker



Michael Vilhelmsen (20-02-2004)
Kommentar
Fra : Michael Vilhelmsen


Dato : 20-02-04 09:01

> Hvis du gerrne vil undgå en generel større omskrivning eller forandring i
> layoutet i din kode/form, foreslår jeg du placerer en TActionList på din

Hvor finder jeg TActionlist

Michael

> form, og opretter to Actions med navnene ActionGodkend og ActionNulstil.
> Husk f.eks med ActionGodkend at give den et korrekt hint, captionen
> "Godkend" og shortcut'en Alt-G. I disse to Actions OnAction-event placerer
> du så koden for henholdsvis godkend og nulstil, og efterfølgende linker du
> så de to actions til bitbtn'sne med Action-propertyen - viola, jeg tror
dit
> problem er løst!
>
>



Michael Vilhelmsen (20-02-2004)
Kommentar
Fra : Michael Vilhelmsen


Dato : 20-02-04 09:13

fandt den.

Undskyld

Michael


"Michael Vilhelmsen" <smom22@hotmail.com> skrev i en meddelelse
news:4035beab$0$180$edfadb0f@dread11.news.tele.dk...
> > Hvis du gerrne vil undgå en generel større omskrivning eller forandring
i
> > layoutet i din kode/form, foreslår jeg du placerer en TActionList på din
>
> Hvor finder jeg TActionlist
>
> Michael
>
> > form, og opretter to Actions med navnene ActionGodkend og ActionNulstil.
> > Husk f.eks med ActionGodkend at give den et korrekt hint, captionen
> > "Godkend" og shortcut'en Alt-G. I disse to Actions OnAction-event
placerer
> > du så koden for henholdsvis godkend og nulstil, og efterfølgende linker
du
> > så de to actions til bitbtn'sne med Action-propertyen - viola, jeg tror
> dit
> > problem er løst!
> >
> >
>
>



Søg
Reklame
Statistik
Spørgsmål : 177580
Tips : 31968
Nyheder : 719565
Indlæg : 6409080
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste