Memory Access Violation

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

Jamagin

Betreff: Memory Access Violation

BeitragMo, Jul 29, 2013 13:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Gibt es für Blitz3D eine Möglichkeit um sogenannte Fehlermeldung während des Ladevorganges zu unterbinden? (WINAPI). Also, wenn man eine Menge Daten (Grafiken, Sounds, Musik, etc.) einliest und während dessen Alt+Tab drückt (das Programm quasi auf die Taskleiste legt) erscheint diese Meldung und das Programm wird eben beendet bzw. abgebrochen.

Gibt es da Abhilfe? (wäre wichtig für die Qualitätsprüfung um Spiele bei BigFishGames platzieren zu können)!

Jamagin
Bevor du etwas neues beginnst, erledige das alte

Xeres

Moderator

BeitragMo, Jul 29, 2013 14:05
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich denke nicht, dass man da in den Interna so einfach herum wursteln kann. Womöglich hilft da bufferdirty, aber damit habe ich nie gearbeitet.
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)

Pummelie

BeitragMo, Jul 29, 2013 20:21
Antworten mit Zitat
Benutzer-Profile anzeigen
Du könntest per API prüfen, ob dein Programm im Vordergrung ist.
MSDN Funktion
It's done when it's done.

Jamagin

BeitragMo, Jul 29, 2013 20:58
Antworten mit Zitat
Benutzer-Profile anzeigen
@pummelie,

warum per WINAPI prüfen ob mein Programm im Vordergrund ist? Sobald man ein Programm auf die Taskleiste (mit Alt+Tab) legt, ist der Fokus ja weg. Mir geht es darum, dass keine Fehlermeldung kommt bzw. das die Daten trotzdem geladen werden auch wenn das Fenster inaktiv ist. Ich denke das wird es so in Blitz3D nicht geben. In BMax ist dieses Problem nicht!

Jamagin
Bevor du etwas neues beginnst, erledige das alte

count-doku

BeitragMo, Jul 29, 2013 21:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Kannst mal ein Beispiel dafür machen, hatte dieses Problem noch nie.

Du startest doch dein Fenster auch mit Graphics Mode Flag 2, oder?

lg,
Count-Doku

Pummelie

BeitragMo, Jul 29, 2013 21:15
Antworten mit Zitat
Benutzer-Profile anzeigen
Genau, und sobald es den Fokus verloren hat, tritt laut dir ein Fehler auf, also prüft du vor jedem Ladevorgang ob du noch den Fokus hast.
Das kann man natürlich noch weiter ausbauen und sich dann immer wieder in den Vordergrund rücken.

Mir ist sowas jedoch nie untergekommen, kannst du ein Beispielprogramm für mich (uns?) hochladen, das irrgendwas läd und dabei einen MAV produziert?
It's done when it's done.

Jamagin

BeitragMo, Jul 29, 2013 21:20
Antworten mit Zitat
Benutzer-Profile anzeigen
@count-doku,

Vollbildmodus bzw. Fenstermodus. Ich habe jetzt nochmals getestet. Manchmal kommt eben die Fehlermeldung und manchmal fehlen dann einige Grafiken. Und genau da möchte ich ansetzen, dass wenn man Alt+Tab drückt während des Ladevorganges, das

1. das laden angehalten wird
2. das laden der zuletzt geladenen Datei wiederholt wird, sobald das Programm wieder den Fokus hat!

Wenn man nur 3 Grafiken lädt, merkt man das sicher nicht, doch lade mal als Beispiel 10 oder 20 Grafiken welche eine Größe von mind. > 1,2MB haben bzw. über 2 MB.

Das ist nun mal ein kritischer Punkt bei Spieletestern wie BigFishGames!


Jamagin
Bevor du etwas neues beginnst, erledige das alte

Pummelie

BeitragMo, Jul 29, 2013 21:31
Antworten mit Zitat
Benutzer-Profile anzeigen
BlitzBasic: [AUSKLAPPEN]
Global my_hwnd

Function Init()
;Fenster öffnen
my_hwnd=SystemProperty$("appHWND")
End Function

Function LoadImage2(file$,mode)
Check()
Return LoadImage(file$,mode)
EndFunction

Function Check()
If GetActiveWindow()<>my_hwnd Then
Repeat
If GetActiveWindow()=my_hwnd Then Exit()
Delay(1)
Forever
EndIf
End Function
It's done when it's done.
 

BIG BUG

BeitragMo, Jul 29, 2013 22:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Es gibt auch einen BlitzBasic: [AUSKLAPPEN]
GraphicsLost
Befehl, vielleicht kannst Du damit eine solche Situation abfangen und das Spiel neu starten...
B3D-Exporter für Cinema4D!(V1.4)
MD2-Exporter für Cinema4D!(final)

Jamagin

BeitragDi, Jul 30, 2013 12:31
Antworten mit Zitat
Benutzer-Profile anzeigen
@pummelie,

ah, danke! das sieht gut aus und dürfte so klappen! Ich werde das in meinen Projekten mal einbauen und gebe dann Kommentar!

Danke

lg. Jamagin
Bevor du etwas neues beginnst, erledige das alte

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group