 |
Das deutsche QBasic- und FreeBASIC-Forum Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
d1rty.h4rry

Anmeldungsdatum: 05.10.2006 Beiträge: 116 Wohnort: Cassel
|
Verfasst am: 22.07.2010, 00:17 Titel: Vista64 Meldung "funktioniert n. mehr" bei prgEnd |
|
|
Hi liebe FB/QB Community ich bekomme seit kurzen bei einem Programm von mir eine Fehlermeldung immer beim Beenden unter Vista...
Das proggi sieht ungefähr so aus
(ist ein kleines GUI-Projekt an dem ich schon sehr lange arbeite)
Code: |
mGui.Initialize(640,480,,,&H04)
Do
mGui.Refresh()
Sleep 1
Loop Until mGui.Msg.State=G_MainClose Or MultiKey(1)
mGui.Destroy()
End 0
|
Ich habe schon getestet wann der Fehler auftritt indem ich ein Sleep vor das 'End 0' geschrieben habe:
Code: |
mGui.Initialize(640,480,,,&H04)
Do
mGui.Refresh()
Sleep 1
Loop Until mGui.Msg.State=G_MainClose Or MultiKey(1)
mGui.Destroy()
SLEEP 'bis hier läufts ohne Fehler
End 0
|
das Programm läuft bis zum Sleep einwandfrei
Drücke ich nun eine Taste schreibt Windows folgendes:
das doofe Windows Vista hat Folgendes geschrieben: |
Problemsignatur:
Problemereignisname: APPCRASH
Anwendungsname: MGui.exe
Anwendungsversion: 0.0.0.0
Anwendungszeitstempel: 4c47662f
Fehlermodulname: ntdll.dll
Fehlermodulversion: 6.0.6002.18005
Fehlermodulzeitstempel: 49e03824
Ausnahmecode: c0000005
Ausnahmeoffset: 0002a536
Betriebsystemversion: 6.0.6002.2.2.0.768.3
Gebietsschema-ID: 1031
Zusatzinformation 1: 5319
Zusatzinformation 2: b5dbd7ce2aacffa6c2f5405c5d593bf6
Zusatzinformation 3: 9dee
Zusatzinformation 4: ca4a6afd5df27b448e9eb171fa9ede9e
|
Die Forensuche brachte leider nichts..
Ich habe ein bisschen gegoogelt, u.a. auch auf der Microschrottseite und
habe erfahren, dass Fehlercode c0000005 eine Speicherzugriffsverletzung ist!
Dass tritt normalerweise auf wenn dass Programm (ab Windows Vista)
kein End am Ende hat...
Ich habe dann folgendes versucht:
Code: |
Sub Quit Destructor
sleep
End Sub
|
um zu sehen, ob FB noch irgendetwas in die Console schreibt, aber nichts.
Ich Kompiliere auch immer mit -exx
mGui ist ein UDT, dass eine Gui berechnet und auch zeichnet.
Zusätzlich habe ich in meinem Proggi einen Debugmodus erstellt, in welchem eine Logdatei erstellt wird, dort wird alles eingetragen, was geschieht. Jedes Imagecreate und Destroy bzw Alloc-/Deallocate
und jede Con/Destruction der UDTs wird angezeigt, und es gibt keine fehler. Der Speicher wird auch erfolgreich wieder freigegeben.
Ich hoffe jmd kann mir helfen, ist vllt nur ein Windows V x64 bug.
(btw unter XP und 98, selbst unter Linux(Debian) läufts ohne Fehler am Ende)
lg
Ich hoffe jemand weiß Rat
d1RtY h4RrY
EDIT: Titel gekürzt, war etwas zu lang, wurde automatisch gekürzt und ergab keinen Sinn mehr  _________________ "Das Fernsehen ist so etwas wie eine geistige Neutronenbombe, das Gehirn wird weggestrahlt. Nur der Kopf bleibt da!" -Olliver Kalkhofe
-> http://fernsehkritik.tv/tv-magazin/
"Wenn alle Stricke reißen, dann häng ich mich auf", Karl Kreiss  |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 22.07.2010, 13:19 Titel: |
|
|
"c0000005" heißt, dass du einfach auf Speicher schreibst oder davon liest, obwohl er dir gar nicht gehört. Das hat auch nichts mit dem "End" am Programmende zu tun. Da mGui wirklich alles sein könnte, können wir dir auch ohne den restlichen Quellcode zu sehen nicht helfen. _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
Westbeam

Anmeldungsdatum: 22.12.2009 Beiträge: 760
|
|
Nach oben |
|
 |
d1rty.h4rry

Anmeldungsdatum: 05.10.2006 Beiträge: 116 Wohnort: Cassel
|
Verfasst am: 25.07.2010, 03:15 Titel: |
|
|
mGui für BB? ich wusste net dass es soaws schon gibt!! nein! mGui ist meine eigene gui, und ich glaube den fehler gefunden zuhaben... es war ein Shared zugriff, auf einen pointer der wahrscheinlich auf einen geschützten Bereich zugegriffen, oder einen pinter, der bereits nicht mehr exisierete zugeriffen hattte, der fehler tritt jeden falls nicht mehr auf
thread kann geschlossen werden
d1rty h4rry _________________ "Das Fernsehen ist so etwas wie eine geistige Neutronenbombe, das Gehirn wird weggestrahlt. Nur der Kopf bleibt da!" -Olliver Kalkhofe
-> http://fernsehkritik.tv/tv-magazin/
"Wenn alle Stricke reißen, dann häng ich mich auf", Karl Kreiss  |
|
Nach oben |
|
 |
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|