/ 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
Try - Except Fails
Fra : Michael Vilhelmsen


Dato : 08-05-02 14:21

Hej

Jeg har et program, hvor i jeg gør følgende:



Try
MyNumber := ANumber / BNumber;
Except
MyNumber := 0;
End;

På en bestemt maskine medfører det en fejl (Windows blå skærm).



Men gør jeg i stedet for dette:

Try
if (BNumber<>0) then
MyNumber := ANumber / BNumber
else
MyNumber := 0;
Except
MyNumber := 0;
End;

Virker ALT perfekt.


Først troede jeg det var et driver problem.
Så jeg opdaterede ALLE drivere.
Jeg opdaterede også til VIA 4IN1 version 4.38a.
Jeg kørte WIndows UPdate og oopdaterede med alle tilgængelige
opdateringer.
Intet af det hjalp.

Sig mig er der andre der har dette problem.


--
Best Regards / Med venlig hilsen
___________
Michael Vilhelmsen
Microcom ApS, Denmark


 
 
Poul Liboriussen (08-05-2002)
Kommentar
Fra : Poul Liboriussen


Dato : 08-05-02 17:36

Tror ikke at try fanger sådanne fejl, men blot exceptions



Thomas Finnerup (08-05-2002)
Kommentar
Fra : Thomas Finnerup


Dato : 08-05-02 19:29

On Wed, 8 May 2002 18:36:07 +0200, "Poul Liboriussen" <poul@leef.dk>
wrote:

> Tror ikke at try fanger sådanne fejl, men blot exceptions

Division by zero er også en exception.

Michael, prøv at erstatte din "Except" med "Except on EZeroDivide do",
selv om det ikke burde gøre nogen forskel.

Husk i øvrigt, hvis du kører programmet fra Delphi, at fjerne hakket i
"Stop on Delphi Exceptions" under Tools|Debugger, Language Exceptions.

Dit eksempel virker fint hos mig.


Venligst
Thomas

Michael Vilhelmsen (08-05-2002)
Kommentar
Fra : Michael Vilhelmsen


Dato : 08-05-02 20:16

Thomas Finnerup <TF@Picco.dk> wrote in
news:hcridu43bipdgoj3ov2ru3ekifi3iq5u7v@4ax.com:

Ja.

Mit eget program virker også på ca 99 ud af 100 maskiner !
Der er bare en maskine i ny og næ som gør dette.    

Men prøver alligevel med den der EZeroDivide, selvom jeg ikke tror det gør
en forskel.

Jeg tror simpelthen det er noget hardware / driver relateret.


Michael


Finn Bindeballe (08-05-2002)
Kommentar
Fra : Finn Bindeballe


Dato : 08-05-02 19:36

hej der.....

prøv flg....

Try
MyNumber := ANumber / BNumber;
Except
on EDivByZero do
MyNumber := 0;
End;

/finn


Michael Vilhelmsen wrote:

> Hej
>
> Jeg har et program, hvor i jeg gør følgende:
>
> Try
> MyNumber := ANumber / BNumber;
> Except
> MyNumber := 0;
> End;
>
> På en bestemt maskine medfører det en fejl (Windows blå skærm).
>
> Men gør jeg i stedet for dette:
>
> Try
> if (BNumber<>0) then
> MyNumber := ANumber / BNumber
> else
> MyNumber := 0;
> Except
> MyNumber := 0;
> End;
>
> Virker ALT perfekt.
>
> Først troede jeg det var et driver problem.
> Så jeg opdaterede ALLE drivere.
> Jeg opdaterede også til VIA 4IN1 version 4.38a.
> Jeg kørte WIndows UPdate og oopdaterede med alle tilgængelige
> opdateringer.
> Intet af det hjalp.
>
> Sig mig er der andre der har dette problem.
>
> --
> Best Regards / Med venlig hilsen
> ___________
> Michael Vilhelmsen
> Microcom ApS, Denmark


Michael Vilhelmsen (08-05-2002)
Kommentar
Fra : Michael Vilhelmsen


Dato : 08-05-02 20:17

Finn Bindeballe <FinnB@post6.tele.dk> wrote in news:3CD96FFD.DD2BB6A5
@post6.tele.dk:

> hej der.....
>
> prøv flg....
>
> Try
> MyNumber := ANumber / BNumber;
> Except
> on EDivByZero do
> MyNumber := 0;
> End;
>
>


Jeg vil prøve.

Michael

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

Månedens bedste
Årets bedste
Sidste års bedste