Gå til innhold
Trenger du hjelp med PCen? Still spørsmål her! ×

Microsoft visual C++ Runtime LibraryRuntime Error


Anbefalte innlegg

hei.

 

Denne feilmeldingenen dukker opp når jeg prøver å registrere data inn i et program kalt kardinal

 

Microsoft visual C++ Runtime LibraryRuntime Error

 

Jeg har sett denne feilmeldingen før, men da altid med en filbane til hvilken program det er feil med.

Jeg antar at feilen ligger på serveren programmet kontakter for å lagre informasjonen, men jeg lurer på hva den kommer av, hva er feilen når man får denne feilmeldingen?

Lenke til kommentar
Videoannonse
Annonse

Alle feilmeldinger som inneholder "Runtime error" oppstår under kjøringen ("Runtime") av et program.

 

Årsaken til denne feilmeldinge er alltid at en programmerer ikke har gjort jobben sin skikkelig. Som oftest, etter min erfaring, har de glemt å:

* Feilsjekke data mottatt fra brukeren av programmet

* Sjekke om data sendt til et tredjeparts bibliotek er innenfor spesifikasjonene til dette biblioteket

* Feilsjekke etableringen av kommunikasjon med tredjepart

* Ta hensyn til at en ekstern overføring kan bli avbrutt

* Ta hensyn til at en verdi, i fremtiden, kan være større enn beholderen han lagrer verdien i.

 

Her ser det ut som at det er data som blir sendt til et tredjeparts bibliotek som er årsak til feilen. Uten mer informasjon så er det vanskelig å si mer om årsaken, men under en installasjonsrutine så er det enkelte ting som går igjen.

* Harddisken(e) har en kapasitet som overgår det biblioteket er laget for å beregne

* Prosessoren går fortere enn biblioteket er laget for å beregne

* Du har mer minne enn biblioteket er laget for å beregne.

 

Alle disse faller inn under "overflow"-kategorien. Denne feilen kommer av at man prøver å tilordne en verdi til en variabel når verdien er høyere enn det variabelen kan holde. Det resulterer i en "overflow" som gjør at fortegns-biten blir satt fra positiv til negativ. F.eks når du arbeider med 32-biters heltall og legger 1 til 2147483647 så får du ikke 2147483648 men -2147483647. Hvis du har fjernet fortegns-biten og legger 1 til 4294967296 så har ikke variabelen kapasitet til å holde denne verdien og gir enten en feilmelding eller stille returnerer 0.

 

4294967296 eller 4G er, for eldre programvare, en usynlig grense for hvor stor en harddisk kan være, hvor rask en prosessor kan være eller hvor mye minne du kan ha. Løsningen er selvfølgelig å bruke større variabler til å håndtere nummer med, men dette må gjøres i programmet og programmereren må gjøre dette.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...