Jump to content



runtime error 6 overflow σε vb6 [solved]


hellbound

Recommended Posts

Δημοσιεύτηκε

Καλησπέρα παιδιά, προσπαθώ να φτιάξω ένα πρόγραμμα σε vb6 και όταν το κάνω run μου πετάει «runtime error 6 overflow».

Η μεταβλητή μου παίρνει τιμή από μία διαίρεση και την έχω δηλώσει σαν Single. Από μια αναζήτηση που έκανα στο google κατάλαβα ότι το μέγεθος της μεταβλητής δεν επαρκή, αλλά ακόμα και όταν τη δήλωσα σαν double ή και long το σφάλμα συνεχίζεται.

Θα ήμουν υπόχρεος αν κάποιος με βοηθούσε να ολοκληρώσω το πρόγραμμα.

Καταρχήν σε ευχαριστώ για το ενδιαφέρον σου.:jump1:

Το πρόβλημα δεν είναι εκεί γιατί το μόνο που κάνει το πρόγραμμα είναι να διαβάζει νούμερα και να κάνει πράξεις, τα νούμερα που δίνω εγώ είναι τέτοια ώστε αποκλείεται να διαιρεί με το μηδέν. Το ποιο πιθανόν είναι να κολλάει γιατί η διαίρεση δίνει αποτέλεσμα με άπειρα δεκαδικά (π.χ. 10/3=3,33333333333).

Dim v22 As Long (με τον ίδιο τρόπο δήλωσα και όλες τις άλλες μεταβλητές)

x23 = x2 + x3

x234 = x2 + x3 + x4

x2346 = x2 + x3 + x4 + x6

x23456 = x2 + x3 + x4 + x5 + x6 (διάφορο του μηδενός αν πάρει τιμή μια μεταβλητή από όλες)

xq12 = x1 + (xq2 / 2)

v22 = f2 * x2 - f1 * x1 + f3 * x22 + f4 * x234 + f5 * x23456 + q * xq12

v2 = v22 / x2346 (η μόνη διαίρεση του οραγράμματος)

v1 = f1 + f2 + f3 + f4 + f5 + (q * xq2) - v2

MsgBox ("V1 = " & v1 & " V2 = " & v2)

Πιθανον κατι παιζει στην διαιρεση και τα δεκαδικα που προκυπτουν...

Τι ειναι ολο αυτο μακαρονι????

Εκεί πιθανολογώ και εγώ ότι είναι το πρόβλημα, στα δεκαδικά. Μήπως ξέρεις πως μπορώ να κάνω στρογγυλοποίηση?

Υπολογισμός ροπής ( δύναμη * απόσταση )

Το βρήκα το πρόβλημα δεν ήταν προγραμματιστικό λάθος αλλά λογικό

kallileo σε ευχαριστώ πάντως για το ενδιαφέρον σου.:flower:

Archived

This topic is now archived and is closed to further replies.

×
×
  • Δημιουργία...

Important Information

Ο ιστότοπος theLab.gr χρησιμοποιεί cookies για να διασφαλίσει την καλύτερη εμπειρία σας κατά την περιήγηση. Μπορείτε να προσαρμόσετε τις ρυθμίσεις των cookies σας , διαφορετικά θα υποθέσουμε ότι είστε εντάξει για να συνεχίσετε.