Gå til innhold

[LØST] Problemer med .net 2.0 (x64)


Anbefalte innlegg

Skrevet (endret)

En kamerat av meg fikk denne feilmeldingen på sin nye 64-bits maskin, etter å ha installert .net 2.0 (x64), og prøvd å kjøre programmet mitt:

System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
  at System.Drawing.SafeNativeMethods.Gdip.GdipFillRectangleI(HandleRef graphics, HandleRef brush, Int32 x, Int32 y, Int32 width, Int32 height)
  at System.Drawing.Graphics.FillRectangle(Brush brush, Int32 x, Int32 y, Int32 width, Int32 height)

Ser ikke dette mest ut som en minnefeil på maskinen hans?

Endret av Manfred
Videoannonse
Annonse
Skrevet

Vet ikke hvor relevant det er, men jeg har oppdaget at "AnyCPU" ikke nødvendigvis fungerer på x64. Jeg satt da output til x86 og det fungerte glimrende på både x64 og x86.

Skrevet
En kamerat av meg fikk denne feilmeldingen på sin nye 64-bits maskin, etter å ha installert .net 2.0 (x64), og prøvd å kjøre programmet mitt:

System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
  at System.Drawing.SafeNativeMethods.Gdip.GdipFillRectangleI(HandleRef graphics, HandleRef brush, Int32 x, Int32 y, Int32 width, Int32 height)
  at System.Drawing.Graphics.FillRectangle(Brush brush, Int32 x, Int32 y, Int32 width, Int32 height)

Ser ikke dette mest ut som en minnefeil på maskinen hans?

8803218[/snapback]

 

Jeg ville heller gjettet på at det er en bug i GdipFillRectangleI. Vær nøye med at du ikke tegner "utenfor" bildet og se om det hjelper. Evt. er det jo ganske simpelt å lage sin egen FillRectangle funksjon...

Skrevet
Men jeg kaller jo ingen FillRectangle! :(

8806697[/snapback]

 

Paste resten av exception'en da... for å finne ut "hvem" som kaller den :-P

Skrevet

Kompilerte den til x86 i stedet. DA funka den på x64... Når jeg har valgene "Any CPU", "x64" og "x86" vil jeg tro at "Any CPU" vil gjøre at det funker på begge, men neeeeida... "x86" var rett valg!

 

Det er så bra at MS ikke bæsjer seg på leggen :)

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...