 |
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 |
Stueber
Anmeldungsdatum: 07.07.2008 Beiträge: 202
|
Verfasst am: 20.03.2010, 14:47 Titel: |
|
|
Edit: falsch gelesen, ich seh das Problem doch nicht... |
|
Nach oben |
|
 |
nemored

Anmeldungsdatum: 22.02.2007 Beiträge: 4704 Wohnort: ~/
|
Verfasst am: 20.03.2010, 16:09 Titel: |
|
|
Im Zweifelsfall kannst du in der SUB quit() noch ein paar Bildschirmausgaben einbauen, um zu sehen, ob die SUB korrekt aufgerufen bzw. die IMAGEDESTROYs abgearbeitet werden und an welchem Punkt sich das Programm aufhängt.
Das hier
Code: | LOOP UNTIL (mousex>583 AND mousex<615 AND mousey>428 AND mousey<460 AND buttons=1) |
sagst du, funktioniert nicht? _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
 |
Westbeam

Anmeldungsdatum: 22.12.2009 Beiträge: 760
|
Verfasst am: 20.03.2010, 16:13 Titel: |
|
|
Ja, das funktioniert leider nicht. Egal was nach 'Then' steht, das Programm hängt sich immer auf und ich muss rebooten  |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 20.03.2010, 16:17 Titel: |
|
|
Seit wann muss man rebooten, wenn sich ein Programm aufhängt? Schonmal was vom Taskmanager gehört? _________________ » 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
|
Verfasst am: 20.03.2010, 16:19 Titel: |
|
|
Ich nutze Linux(Gnome), da kann man die Systemüberwachung nur über ein Menü starten oder falls eine Tastenbelegung festgelegt ist auch darüber. Da ich allerdings keine Tastenbelegung für die Systemüberwachung festgelegt habe, starte ich Gnome neu(Alt+Druck+K)  |
|
Nach oben |
|
 |
The_Muh aka Mark Aroni

Anmeldungsdatum: 11.09.2006 Beiträge: 718
|
Verfasst am: 20.03.2010, 17:28 Titel: |
|
|
Jojo hat Folgendes geschrieben: | Seit wann muss man rebooten, wenn sich ein Programm aufhängt? Schonmal was vom Taskmanager gehört? |
Oder dem TTY, wo man mit kill(all) noch retten kann was zu retten is.
Oder der Magischen S-Abf-taste.
Rebooten is nich  _________________ // nicht mehr aktiv // |
|
Nach oben |
|
 |
nemored

Anmeldungsdatum: 22.02.2007 Beiträge: 4704 Wohnort: ~/
|
Verfasst am: 20.03.2010, 17:54 Titel: |
|
|
nemored hat Folgendes geschrieben: | Das hier
Code: | LOOP UNTIL (mousex>583 AND mousex<615 AND mousey>428 AND mousey<460 AND buttons=1) |
sagst du, funktioniert nicht? |
Westbeam hat Folgendes geschrieben: | Ja, das funktioniert leider nicht. Egal was nach 'Then' steht, das Programm hängt sich immer auf und ich muss rebooten  |
Komisch, in der Zeile kommt doch gar kein THEN vor ...
Vorhin schriebst du
Westbeam hat Folgendes geschrieben: | Komisch ist nur das folgendes sich nicht aufhängt:
Code: | if (mousex>583 and mousex<615 and mousey>428 and mousey<460 and buttons=1) then draw string(100,100),"Test" |
|
Ich bin etwas verwirrt. _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
 |
Muttonhead

Anmeldungsdatum: 26.08.2008 Beiträge: 566 Wohnort: Jüterbog
|
Verfasst am: 20.03.2010, 17:57 Titel: |
|
|
@Westbeam: könntest du den kompletten Code nochmal posten ?...
Wie es scheint gibts wohl schon etliches an Veränderungen und man kann deinen Problemen nicht so ganz folgen(zumindest iche ) |
|
Nach oben |
|
 |
Westbeam

Anmeldungsdatum: 22.12.2009 Beiträge: 760
|
Verfasst am: 20.03.2010, 18:09 Titel: |
|
|
Klar, hier der ganze neue Code:
Code: | Screen 18,24,,1
Dim shared as string taste,txt
dim shared as integer mousex, mousey,buttons,help,textz,f,texty
declare sub hintergrund()
declare sub quit()
declare sub button(anfangx as integer,anfangy as integer,text as string)
declare sub textview(datei as string)
Dim shared mousepic As Any Ptr
mousepic = ImageCreate(11,16)
bload "GFX/MOUSE.bmp", mousepic
Dim shared progpic As Any Ptr
progpic = ImageCreate(32,32)
bload "GFX/ICONS/PROGS.bmp", progpic
Dim shared quitpic As Any Ptr
quitpic = ImageCreate(32,32)
bload "GFX/ICONS/QUIT.bmp", quitpic
Dim shared aboutpic As Any Ptr
aboutpic = ImageCreate(32,32)
bload "GFX/ICONS/ABOUT.bmp", aboutpic
Dim shared fullpic As Any Ptr
fullpic = ImageCreate(640,480)
bload "GFX/FULL.bmp", fullpic
Function set_fbfont (ByVal x As Integer) As Integer
Dim As Integer breit2, hoch2
ScreenInfo breit2, hoch2
Select Case x
Case 8, 14, 16 'nur 8, 14 oder 16 funktioniert richtig
Width breit2\8, hoch2\x ' hier wird auto. Cls ausgeführt
Case Else
Return 0 'etwas lief schief
End Select
Return 1 'Font erfolgreich gesetzt
End Function
set_fbfont(8)
setmouse 0,0,0
do
taste=Inkey
getmouse mousex,mousey,,buttons
screenlock
hintergrund()
screenunlock
sleep 1
loop until taste=Chr(27)
quit()
sub hintergrund()
cls
Line (0,0)-(640,480),&h0054A8,BF
Color &hFFFFFF
Put (25,10),progpic,Trans
Draw String (10,45),"Programs"
Put (583,428),quitpic,Trans
draw string(565,463),"Quit MIW"
put (25,80),aboutpic,Trans
Draw String(27,115),"Help"
if help=1 then
put(0,0),fullpic,trans
button(570,450,"Quit")
textview("Test.txt")
if (mousex>570 and mousex<570+textz and mousey>450 and mousey<464 and buttons and 1) then help=0
end if
if taste="q" then help=0
Put (mousex,mousey),mousepic,Trans
if (mousex>583 and mousex<615 and mousey>428 and mousey<460 and buttons and 1) then
screenlock
cls
Line (0,0)-(640,480),&h0054A8,BF
sleep 300
cls
color &hFFFFFF
Draw string(240,430),"Press any key to shutdown MIW"
screenunlock
getkey
imagedestroy progpic
imagedestroy quitpic
imagedestroy aboutpic
imagedestroy mousepic
end
end if
if (mousex>25 and mousex<57 and mousey>80 and mousey<112 and buttons and 1) then help=1
End sub
sub quit()
do
screenlock
cls
Line (0,0)-(640,480),&h0054A8,BF
sleep 300
cls
color &hFFFFFF
Draw string(240,430),"Press any key to shutdown MIW"
screenunlock
sleep 1
loop
getkey
imagedestroy progpic
imagedestroy quitpic
imagedestroy aboutpic
imagedestroy mousepic
end
end sub
sub button(anfangx as integer,anfangy as integer,text as string)
textz=(Len(text)*8)+4
line (anfangx,anfangy)-(anfangx+textz,anfangy),&hFFFFFF
line (anfangx,anfangy+1)-(anfangx-1+textz,anfangy+1),&hFFFFFF
line (anfangx,anfangy)-(anfangx,anfangy+12),&hFFFFFF
line (anfangx+1,anfangy)-(anfangx+1,anfangy+11),&hFFFFFF
line (anfangx,anfangy+14)-(anfangx+textz,anfangy+14),&h545454
line (anfangx+1,anfangy+13)-(anfangx+textz,anfangy+13),&h545454
line (anfangx+textz,anfangy+14)-(anfangx+textz,anfangy),&h545454
line (anfangx+textz-1,anfangy+14)-(anfangx+textz-1,anfangy+1),&h545454
color &H000000
draw string(anfangx+3,anfangy+3),text
color &hFFFFFF
end sub
sub textview(datei as string)
f=freefile
open datei for input as #f
color &hFFFFFF,&hbbbbbb
do until eof(f)
input #f,txt
locate 5,8
print txt
loop
end sub |
|
|
Nach oben |
|
 |
nemored

Anmeldungsdatum: 22.02.2007 Beiträge: 4704 Wohnort: ~/
|
Verfasst am: 20.03.2010, 18:30 Titel: |
|
|
Das Aufhängen kommt vom SCREENLOCK bzw. dem, was dazwischen alles getan wird:
Code: | DO
taste=INKEY
GETMOUSE mousex,mousey,,buttons
' hier jetzt mal kein SCREENLOCK
hintergrund()
' hier jetzt mal kein SCREENUNLOCK
SLEEP 1
LOOP UNTIL taste=CHR(27) |
Wenn ich die zwei auskommentierten Zeilen herausnehme, gibt es keinen Absturz mehr.
Unter anderem schachtelst du zwei SCREENLOCK ineinander, und das ist ziemlich böse. Überhaupt ist SCREENLOCK nur für äußerst kurze Einsätze (schnell mal was zeichnen und fertig) gedacht. _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
 |
Westbeam

Anmeldungsdatum: 22.12.2009 Beiträge: 760
|
Verfasst am: 20.03.2010, 18:44 Titel: |
|
|
Cool wenn ich jetzt noch ein 'Flip' in den Code einbringe stottert das Bild auch nicht. Vielen Dank
EDIT: Doch nicht, das Bild stottert doch  |
|
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.
|
|