end beendet nicht und screen nicht bestimmbar
end beendet nicht und screen nicht bestimmbar
moin,
(
Vorwort sorry aber mein deutsch ist nicht das beste ich versuche aber mein bestes
und danke schon mal im voraus für die Hilfe
)
ich habe folgende Probleme:
1 ) end beendet nicht .... ich vermut das so was wie ein de-strucktor (CloseScreen() läuft )
2 ) es wird irgendwas nach meinem code gemacht (da in der letzten Zeile der debug von einer variablen erfolgreich ausgeführt wird wonach nichts mehr kommt aber das Programm nicht beendet wird sondern nur aufhengt
3 ) CloseScreen() wird irgendwie nicht ausgeführt sondern hängt das Programm nur auf.
4 ) ScreenOutput() ist immer NULL
5 ) DisplaySprite() endet mit Das mit dem Debugger getestete Executable endete unerwartet.
6 ) da ich 2 Monitore verwende und nicht im Fenster bin endet mit Das mit dem Debugger getestete Executable endete unerwartet.
7 ) IsScreenActive() gibt immer null zurück ich vermute es ist null
8 ) sobald ich InitEngine3D( ) erfolgreich verwende stürzen alle 2D Operationen mit null ab
9 ) wenn ich stat dx opengl verwende logt die engien mit das angeblich ein shader leer ist ... auch ohne das ich irgendwas mit nen shader mache (in dx geht es)
ich habe auch schon versucht mit der lösung zum opengl probelm
(über Google gefunden ) : CallFunction(OpenLibrary(#PB_Any,"dwmapi.dll"),"DwmEnableComposition",0)
das problem zu umgehen aber irgendwie bringt das nichts)
da sonst alles super scheint auch beim ogre log ... und ich schon viel versucht habe zu Debuggen....
ich vermute das ich was ganz simples vergessen habe
darum hir die inits
CallFunction(OpenLibrary(#PB_Any,"dwmapi.dll"),"DwmEnableComposition",0)
If InitEngine3D( )=0 Or InitSprite() = 0 Or InitKeyboard() = 0 Or InitMouse() = 0 Or InitMouse() =0
MessageRequester("error", "basis geht nicht", 0)
End
EndIf
dann folgen die Archive, parsen, und opensreens (was erfolgreich ist)
danach erstelle ich erfolgreich ein licht, eine camera, terrain, und ein 3d text
so das ich in der welt herum laufen kann und mich umgucken kann und die werden updatet (UpdateTerrain(terrain)
RenderWorld()
FlipBuffers())
in einer schleife .. nach dem die schleife beendet ist sturzt es nun ab(debug "a" geht noch aber danach kommt halt kein text wo es abstürzt wenn ich end benutze klapst auch nicht ..).
vielen dank schonmal im foraus auch wenn ich evtl nicht ganz einfach geschrieben habe (soory es ist nicht mit Absicht )
(
Vorwort sorry aber mein deutsch ist nicht das beste ich versuche aber mein bestes
und danke schon mal im voraus für die Hilfe
)
ich habe folgende Probleme:
1 ) end beendet nicht .... ich vermut das so was wie ein de-strucktor (CloseScreen() läuft )
2 ) es wird irgendwas nach meinem code gemacht (da in der letzten Zeile der debug von einer variablen erfolgreich ausgeführt wird wonach nichts mehr kommt aber das Programm nicht beendet wird sondern nur aufhengt
3 ) CloseScreen() wird irgendwie nicht ausgeführt sondern hängt das Programm nur auf.
4 ) ScreenOutput() ist immer NULL
5 ) DisplaySprite() endet mit Das mit dem Debugger getestete Executable endete unerwartet.
6 ) da ich 2 Monitore verwende und nicht im Fenster bin endet mit Das mit dem Debugger getestete Executable endete unerwartet.
7 ) IsScreenActive() gibt immer null zurück ich vermute es ist null
8 ) sobald ich InitEngine3D( ) erfolgreich verwende stürzen alle 2D Operationen mit null ab
9 ) wenn ich stat dx opengl verwende logt die engien mit das angeblich ein shader leer ist ... auch ohne das ich irgendwas mit nen shader mache (in dx geht es)
ich habe auch schon versucht mit der lösung zum opengl probelm
(über Google gefunden ) : CallFunction(OpenLibrary(#PB_Any,"dwmapi.dll"),"DwmEnableComposition",0)
das problem zu umgehen aber irgendwie bringt das nichts)
da sonst alles super scheint auch beim ogre log ... und ich schon viel versucht habe zu Debuggen....
ich vermute das ich was ganz simples vergessen habe
darum hir die inits
CallFunction(OpenLibrary(#PB_Any,"dwmapi.dll"),"DwmEnableComposition",0)
If InitEngine3D( )=0 Or InitSprite() = 0 Or InitKeyboard() = 0 Or InitMouse() = 0 Or InitMouse() =0
MessageRequester("error", "basis geht nicht", 0)
End
EndIf
dann folgen die Archive, parsen, und opensreens (was erfolgreich ist)
danach erstelle ich erfolgreich ein licht, eine camera, terrain, und ein 3d text
so das ich in der welt herum laufen kann und mich umgucken kann und die werden updatet (UpdateTerrain(terrain)
RenderWorld()
FlipBuffers())
in einer schleife .. nach dem die schleife beendet ist sturzt es nun ab(debug "a" geht noch aber danach kommt halt kein text wo es abstürzt wenn ich end benutze klapst auch nicht ..).
vielen dank schonmal im foraus auch wenn ich evtl nicht ganz einfach geschrieben habe (soory es ist nicht mit Absicht )
Re: end beendet nicht und screen nicht bestimmbar
Ohne einen, auf das Mindeste reduzierten Code, kann man nur raten...
PureBasic 6.10 LTS (Windows x86/x64) | Windows10 Pro x64 | Asus TUF X570 Gaming Plus | R9 5900X | 64GB RAM | GeForce RTX 3080 TI iChill X4 | HAF XF Evo | build by vannicom
Re: end beendet nicht und screen nicht bestimmbar
vielen dank Bisonte emm ich dachte das ist der code schon so auf das minimalisierte ist ...
da ich nicht genau weis was da das beste ist.
hoffe ich...
das es auch oki ist wenn ich den gesamten code schreibe...
(nicht wundern ist noch nicht wirklich viel und auch nicht fertig )
sorry das das andere anscheint nicht ausreichte
[edit1 von xdes hoffe es ist so besser zu verstehen (soory) ]
da ich nicht genau weis was da das beste ist.
hoffe ich...
das es auch oki ist wenn ich den gesamten code schreibe...
(nicht wundern ist noch nicht wirklich viel und auch nicht fertig )
Code: Alles auswählen
CallFunction(OpenLibrary(#PB_Any,"dwmapi.dll"),"DwmEnableComposition",0)
If InitEngine3D( )=0 Or InitSprite() = 0 Or InitKeyboard() = 0 Or InitMouse() = 0 Or InitMouse() =0
MessageRequester("error", "basis geht nicht", 0)
End
EndIf
Add3DArchive(GetCurrentDirectory()+"daten\text", #PB_3DArchive_FileSystem)
Add3DArchive(GetCurrentDirectory()+"daten\fonts", #PB_3DArchive_FileSystem)
Parse3DScripts()
sree= OpenScreen(1920,1080 , 32, "a" ,#PB_Screen_NoSynchronization)
CreateCamera(0, 0, 0, 100, 100)
MoveCamera(0, 0, 0, 0, #PB_Absolute)
CameraBackColor(0, RGB(55, 0, 0))
KeyX.d=0.0
KeyY.d=0.0
MouseX.d=0.0
MouseY.d=0.0
light = CreateLight(#PB_Any ,RGB(190, 190, 190), 4000, 1200, 1000,#PB_Light_Directional)
SetLightColor(light, #PB_Light_SpecularColor, RGB(255*0.4, 255*0.4,255*0.4))
LightDirection(light ,0.55, -0.3, -0.75)
AmbientColor(RGB(255*0.2, 255*0.2,255*0.2))
SetupTerrains(LightID(Light), 2, #PB_Terrain_NormalMapping)
terrain=CreateTerrain( #PB_Any, 65,160, 10, 1, "TerrainGroup", "dat")
AddTerrainTexture(terrain, 0, 4, "kachel.jpg","kachel.jpg")
map_size=5;
max_update_per_run=1
For x =0 To map_size
For y=0 To map_size
DefineTerrainTile(terrain, x, y, "", 0,0)
Next
Next
Dim map_array(map_size,map_size,2)
For x =0 To map_size
For y=0 To map_size
map_array(x,y,0)=Random(10,0);
map_array(x,y,1)=Random(10,0);
Next
Next
BuildTerrain(terrain)
d3_text=CreateText3D(#PB_Any, "FPS:"+StrF(Engine3DStatus(#PB_Engine3D_CurrentFPS ),0))
Repeat
hoehe=2
FreeText3D(d3_text)
d3_text =CreateText3D(#PB_Any, "FPS:"+StrF(Engine3DStatus(#PB_Engine3D_CurrentFPS ),0))
Text3DColor(d3_text, RGBA(255, 0, 0, 255))
Text3DAlignment(d3_text, #PB_Text3D_HorizontallyCentered)
ScaleText3D(d3_text, 0.5, 0.5, 0.5)
MoveText3D(d3_text,CameraX(0), CameraY(0) , CameraZ(0)+hoehe, #PB_Absolute)
counter=0
For x =0 To map_size
For y=0 To map_size
If max_update_per_run>counter And map_array(x,y,0)<>map_array(x,y,1)
SetTerrainTileHeightAtPoint(terrain, y,x, 0,0, map_array(x,y,1))
map_array(x,y,0)=map_array(x,y,1)
counter=counter+1
EndIf
Next
Next
If ExamineKeyboard()
If KeyboardPushed(#PB_Key_A)
KeyX = -0.05
ElseIf KeyboardPushed(#PB_Key_D)
KeyX = 0.05
Else
KeyX = 0.0
EndIf
If KeyboardPushed(#PB_Key_W)
KeyY = -0.05
ElseIf KeyboardPushed(#PB_Key_S)
KeyY = 0.05
Else
KeyY = 0
EndIf
EndIf
If ExamineMouse()
MouseX = -MouseDeltaX() * 1 * 0.05
MouseY = -MouseDeltaY() * 1 * 0.05
EndIf
MoveCamera(0, CameraX(0), TerrainHeight(0, CameraX(0), CameraZ(0)) + 2, CameraZ(0), #PB_Absolute)
MoveCamera (0, KeyX, 0, KeyY)
RotateCamera(0, MouseY, MouseX, 0, #PB_Relative)
If KeyboardPushed(#PB_Key_Escape)
Quit = 1
EndIf
UpdateTerrain(terrain)
RenderWorld()
FlipBuffers()
Until Quit = 1
[edit1 von xdes hoffe es ist so besser zu verstehen (soory) ]
Re: end beendet nicht und screen nicht bestimmbar
da ist 2 mal InitMouse()
Siehste! Geht doch....?!
PB*, *4PB, PetriDish, Movie2Image, PictureManager, TrainYourBrain, ...
PB*, *4PB, PetriDish, Movie2Image, PictureManager, TrainYourBrain, ...
Re: end beendet nicht und screen nicht bestimmbar
danke emm der Fehler ist mir grad gar nicht aufgefallen
leider besteht das problem weiterhin (hier noch mal der editiert Code)
leider besteht das problem weiterhin (hier noch mal der editiert Code)
Code: Alles auswählen
CallFunction(OpenLibrary(#PB_Any,"dwmapi.dll"),"DwmEnableComposition",0)
If InitEngine3D( )=0 Or InitSprite() = 0 Or InitKeyboard() = 0 Or InitMouse() = 0
MessageRequester("error", "basis geht nicht", 0)
End
EndIf
Add3DArchive(GetCurrentDirectory()+"daten\text", #PB_3DArchive_FileSystem)
Add3DArchive(GetCurrentDirectory()+"daten\fonts", #PB_3DArchive_FileSystem)
Parse3DScripts()
sree= OpenScreen(1920,1080 , 32, "a" ,#PB_Screen_NoSynchronization)
CreateCamera(0, 0, 0, 100, 100)
MoveCamera(0, 0, 0, 0, #PB_Absolute)
CameraBackColor(0, RGB(55, 0, 0))
KeyX.d=0.0
KeyY.d=0.0
MouseX.d=0.0
MouseY.d=0.0
light = CreateLight(#PB_Any ,RGB(190, 190, 190), 4000, 1200, 1000,#PB_Light_Directional)
SetLightColor(light, #PB_Light_SpecularColor, RGB(255*0.4, 255*0.4,255*0.4))
LightDirection(light ,0.55, -0.3, -0.75)
AmbientColor(RGB(255*0.2, 255*0.2,255*0.2))
SetupTerrains(LightID(Light), 2, #PB_Terrain_NormalMapping)
terrain=CreateTerrain( #PB_Any, 65,160, 10, 1, "TerrainGroup", "dat")
AddTerrainTexture(terrain, 0, 4, "kachel.jpg","kachel.jpg")
map_size=5;
max_update_per_run=1
For x =0 To map_size
For y=0 To map_size
DefineTerrainTile(terrain, x, y, "", 0,0)
Next
Next
Dim map_array(map_size,map_size,2)
For x =0 To map_size
For y=0 To map_size
map_array(x,y,0)=Random(10,0);
map_array(x,y,1)=Random(10,0);
Next
Next
BuildTerrain(terrain)
d3_text=CreateText3D(#PB_Any, "FPS:"+StrF(Engine3DStatus(#PB_Engine3D_CurrentFPS ),0))
Repeat
hoehe=2
FreeText3D(d3_text)
d3_text =CreateText3D(#PB_Any, "FPS:"+StrF(Engine3DStatus(#PB_Engine3D_CurrentFPS ),0))
Text3DColor(d3_text, RGBA(255, 0, 0, 255))
Text3DAlignment(d3_text, #PB_Text3D_HorizontallyCentered)
ScaleText3D(d3_text, 0.5, 0.5, 0.5)
MoveText3D(d3_text,CameraX(0), CameraY(0) , CameraZ(0)+hoehe, #PB_Absolute)
counter=0
For x =0 To map_size
For y=0 To map_size
If max_update_per_run>counter And map_array(x,y,0)<>map_array(x,y,1)
SetTerrainTileHeightAtPoint(terrain, y,x, 0,0, map_array(x,y,1))
map_array(x,y,0)=map_array(x,y,1)
counter=counter+1
EndIf
Next
Next
If ExamineKeyboard()
If KeyboardPushed(#PB_Key_A)
KeyX = -0.05
ElseIf KeyboardPushed(#PB_Key_D)
KeyX = 0.05
Else
KeyX = 0.0
EndIf
If KeyboardPushed(#PB_Key_W)
KeyY = -0.05
ElseIf KeyboardPushed(#PB_Key_S)
KeyY = 0.05
Else
KeyY = 0
EndIf
EndIf
If ExamineMouse()
MouseX = -MouseDeltaX() * 1 * 0.05
MouseY = -MouseDeltaY() * 1 * 0.05
EndIf
MoveCamera(0, CameraX(0), TerrainHeight(0, CameraX(0), CameraZ(0)) + 2, CameraZ(0), #PB_Absolute)
MoveCamera (0, KeyX, 0, KeyY)
RotateCamera(0, MouseY, MouseX, 0, #PB_Relative)
If KeyboardPushed(#PB_Key_Escape)
Quit = 1
EndIf
UpdateTerrain(terrain)
RenderWorld()
FlipBuffers()
Until Quit = 1
Re: end beendet nicht und screen nicht bestimmbar
WindowEvents werden nirgends abgearbeitet!
Re: end beendet nicht und screen nicht bestimmbar
@Mijikai vielen danke aber da ist eigentlich auch kein Window drin sondern ein Screen (wenn ich alleine WaitWindowEvent() verwende stützt es ab. denn ich habe kein window und das bestätigt die Meldung vom Debugger mit: [ERROR] Mindestens ein Fenster sollte geöffnet sein, um diesen Befehl zu verwenden.)
status ungelöst
ist denn der Fehler nur bei mir drin ?(läuft das nur bei mir nicht)
[edit 1 frage ergänzt]
status ungelöst
ist denn der Fehler nur bei mir drin ?(läuft das nur bei mir nicht)
[edit 1 frage ergänzt]
Zuletzt geändert von xdes am 25.08.2019 12:13, insgesamt 1-mal geändert.
Re: end beendet nicht und screen nicht bestimmbar
You don't need to explicitly process events if you use a fullscreen and no window. But you might need a ClearScreen() after FlipBuffers() or at the beginning of your main loop to actually see something, at least here on Linux. I think FlipBuffers() (and ClearScreen()) do some event processing in the background.
And ExamineMouse() and ExamineKeyboard() don't have a return value. Call them every time and don't If-branch on the return value.
And ExamineMouse() and ExamineKeyboard() don't have a return value. Call them every time and don't If-branch on the return value.
Re: end beendet nicht und screen nicht bestimmbar
vielen dank an #NULL
unter Windows mit dx scheint es auch gut ohne ClearScreen() zu laufen (opengl malt so oder so irgendwas seltsames.. (ich vermute da sind Koordinaten
vertauscht)
nun habe ich es einfach hinzugefügt da ich ja kein Darstellung Probleme habe sonder ein ende und ein seren Identifikation problem habe...
->das IF bei den examine habe ich nur zu übersiecht drin gehabt
der code lautet nun
leider ist der Fehler damit nicht behoben
----------------------------------------
en -> translatet with googel
---------------------------------------
Thanks a lot for #NULL
Windows with dx it seems synonymous well without ClearScreen () to run (opengl paint or something strange ..) (I suspect there are coordinates
reversed)
Now I just added it because I have no presentation problems but have a final and a serious identification problem ...
-> The IF in the examine, I had only too insignificant in it
the code is now
Unfortunately, the error is not resolved
code
[edit 1 code hinzugefügt]
unter Windows mit dx scheint es auch gut ohne ClearScreen() zu laufen (opengl malt so oder so irgendwas seltsames.. (ich vermute da sind Koordinaten
vertauscht)
nun habe ich es einfach hinzugefügt da ich ja kein Darstellung Probleme habe sonder ein ende und ein seren Identifikation problem habe...
->das IF bei den examine habe ich nur zu übersiecht drin gehabt
der code lautet nun
leider ist der Fehler damit nicht behoben
----------------------------------------
en -> translatet with googel
---------------------------------------
Thanks a lot for #NULL
Windows with dx it seems synonymous well without ClearScreen () to run (opengl paint or something strange ..) (I suspect there are coordinates
reversed)
Now I just added it because I have no presentation problems but have a final and a serious identification problem ...
-> The IF in the examine, I had only too insignificant in it
the code is now
Unfortunately, the error is not resolved
code
Code: Alles auswählen
CallFunction(OpenLibrary(#PB_Any,"dwmapi.dll"),"DwmEnableComposition",0)
If InitEngine3D( )=0 Or InitSprite() = 0 Or InitKeyboard() = 0 Or InitMouse() = 0
MessageRequester("error", "basis geht nicht", 0)
End
EndIf
Add3DArchive(GetCurrentDirectory()+"daten\text", #PB_3DArchive_FileSystem)
Add3DArchive(GetCurrentDirectory()+"daten\fonts", #PB_3DArchive_FileSystem)
Parse3DScripts()
sree= OpenScreen(1920,1080 , 32, "a" ,#PB_Screen_NoSynchronization)
CreateCamera(0, 0, 0, 100, 100)
MoveCamera(0, 0, 0, 0, #PB_Absolute)
CameraBackColor(0, RGB(55, 0, 0))
KeyX.d=0.0
KeyY.d=0.0
MouseX.d=0.0
MouseY.d=0.0
light = CreateLight(#PB_Any ,RGB(190, 190, 190), 4000, 1200, 1000,#PB_Light_Directional)
SetLightColor(light, #PB_Light_SpecularColor, RGB(255*0.4, 255*0.4,255*0.4))
LightDirection(light ,0.55, -0.3, -0.75)
AmbientColor(RGB(255*0.2, 255*0.2,255*0.2))
SetupTerrains(LightID(Light), 2, #PB_Terrain_NormalMapping)
terrain=CreateTerrain( #PB_Any, 65,160, 10, 1, "TerrainGroup", "dat")
AddTerrainTexture(terrain, 0, 4, "kachel.jpg","kachel.jpg")
map_size=5;
max_update_per_run=1
For x =0 To map_size
For y=0 To map_size
DefineTerrainTile(terrain, x, y, "", 0,0)
Next
Next
Dim map_array(map_size,map_size,2)
For x =0 To map_size
For y=0 To map_size
map_array(x,y,0)=Random(10,0);
map_array(x,y,1)=Random(10,0);
Next
Next
BuildTerrain(terrain)
d3_text=CreateText3D(#PB_Any, "FPS:"+StrF(Engine3DStatus(#PB_Engine3D_CurrentFPS ),0))
Repeat
hoehe=2
FreeText3D(d3_text)
d3_text =CreateText3D(#PB_Any, "FPS:"+StrF(Engine3DStatus(#PB_Engine3D_CurrentFPS ),0))
Text3DColor(d3_text, RGBA(255, 0, 0, 255))
Text3DAlignment(d3_text, #PB_Text3D_HorizontallyCentered)
ScaleText3D(d3_text, 0.5, 0.5, 0.5)
MoveText3D(d3_text,CameraX(0), CameraY(0) , CameraZ(0)+hoehe, #PB_Absolute)
counter=0
For x =0 To map_size
For y=0 To map_size
If max_update_per_run>counter And map_array(x,y,0)<>map_array(x,y,1)
SetTerrainTileHeightAtPoint(terrain, y,x, 0,0, map_array(x,y,1))
map_array(x,y,0)=map_array(x,y,1)
counter=counter+1
EndIf
Next
Next
ExamineKeyboard()
If KeyboardPushed(#PB_Key_A)
KeyX = -0.05
ElseIf KeyboardPushed(#PB_Key_D)
KeyX = 0.05
Else
KeyX = 0.0
EndIf
If KeyboardPushed(#PB_Key_W)
KeyY = -0.05
ElseIf KeyboardPushed(#PB_Key_S)
KeyY = 0.05
Else
KeyY = 0
EndIf
ExamineMouse()
MouseX = -MouseDeltaX() * 1 * 0.05
MouseY = -MouseDeltaY() * 1 * 0.05
MoveCamera(0, CameraX(0), TerrainHeight(0, CameraX(0), CameraZ(0)) + 2, CameraZ(0), #PB_Absolute)
MoveCamera (0, KeyX, 0, KeyY)
RotateCamera(0, MouseY, MouseX, 0, #PB_Relative)
If KeyboardPushed(#PB_Key_Escape)
Quit = 1
EndIf
UpdateTerrain(terrain)
RenderWorld()
FlipBuffers()
ClearScreen(RGB(0,0,0))
Until Quit = 1
[edit 1 code hinzugefügt]
Re: end beendet nicht und screen nicht bestimmbar
Entschuldigung, das Englisch war ein Versehen, Ich kann deutsch.