Avatar billede and_ Nybegynder
13. november 2003 - 16:51 Der er 8 kommentarer og
1 løsning

Hvorfor fejler denne med: overflow

Jeg kan ikke se hvad der er galt, men denne kodestump returnere: overflow til mig:

        size = 196                   
    Set pickompo = Server.CreateObject("AspImage.Image")
    pickompo.LoadImage server.mappath("./modul/dbase/baadpics") & "/" & filnavn
    ImageHeight = pickompo.MaxY
    ImageWidth = pickompo.MaxX
    pickompo.ImageFormat = 1
    pickompo.JPEGQuality = 75
    NewHeight = CLng(ImageHeight*size/ImageWidth)
    NewWidth = size
    pickompo.Resize NewWidth,NewHeight
        pickompo.FileName = server.mappath("./modul/dbase/baadpics") & "/storteaser_" & filnavn
        pickompo.SaveImage       
        set pickompo = nothing

hmmmm, tænkte jeg - det kunne da umuligt være rigtigt at den ville fejle på et så tyndt grundlag, så jeg prøvede dette i en ny fil:

<%
ImageHeight = "1024"
ImageWidth = "768"
size = "196"

    response.write Cint(ImageHeight * size / ImageWidth)
%>

Dette er der inden fejl i - den returnerer værdien: 261

Kan i se hvad der skulle være fejlen i den anden.... Jeg har fuldstændig set mig blind på det...
Avatar billede eagleeye Praktikant
13. november 2003 - 17:01 #1
Det måske fordi Resize tager Int som parameret og ikke typen Long??

Så:  NewHeight = CLng(ImageHeight*size/ImageWidth)

Bliver til:
NewHeight = CInt(ImageHeight*size/ImageWidth)
Avatar billede and_ Nybegynder
13. november 2003 - 17:04 #2
Den har jeg også prøvet med, men den fejler stadig - det var derfor jeg lavede den om til long - det kunne jo godt være at et mellemresultat var for stor int'en.....
Avatar billede eagleeye Praktikant
13. november 2003 - 17:08 #3
Ved du hvilken linje feljen kommer?
Avatar billede and_ Nybegynder
13. november 2003 - 17:10 #4
NewHeight = CLng(ImageHeight*size/ImageWidth)
Avatar billede eagleeye Praktikant
13. november 2003 - 18:42 #5
hvad med:
NewHeight = CLng((size/ImageWidth)*ImageHeight)
Avatar billede and_ Nybegynder
14. november 2003 - 09:55 #6
Så har vi denne fejlkode i stedet:

Error Type:
Microsoft VBScript runtime (0x800A000B)
Division by zero
/WEBKONTROL/Kunder/baadkommissaeren/www/webkontrol/modul/dbase/billedeupload.asp, line 36

Prøvede lige at lave lidt research:

        size = 196                   
    Set pickompo = Server.CreateObject("AspImage.Image")
    pickompo.LoadImage server.mappath("./modul/dbase/baadpics") & "/" & filnavn
    ImageHeight = pickompo.MaxY
    ImageWidth = pickompo.MaxX
    pickompo.ImageFormat = 1
    pickompo.JPEGQuality = 75
        response.write "h: " & imageheight & "<br>"
        response.write "w: " & imagewidth & "<br>"
        response.write "s: " & size & "<br>"
        'NewHeight = CLng((size/ImageWidth)*ImageHeight)
    'NewWidth = size
    'pickompo.Resize NewWidth,NewHeight
        'pickompo.FileName = server.mappath("./modul/dbase/baadpics") & "/storteaser_" & filnavn
        'pickompo.SaveImage       
        set pickompo = nothing

Det gav dette output:

h: 0
w: 0
s: 196
Avatar billede eagleeye Praktikant
14. november 2003 - 16:21 #7
Så det fordi variablen ImageWidth indeholder 0
er du sikker på den finder det rigtige billede?
Prøv evt at udskrive filnanvet samt sti..:

Response.Write server.mappath("./modul/dbase/baadpics") & "/" & filnavn
Avatar billede and_ Nybegynder
17. november 2003 - 15:12 #8
Fandt ud af det - Det var en sti der pegede forkert (pinligt), men så'en er livet.....

En gang imellem kan man ikke se skoven for bare træer ;)

Vil du have lidt point? - Du har jo brugt lidt tid på det ;)
Avatar billede eagleeye Praktikant
17. november 2003 - 16:43 #9
Ja ok ;)
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester