Mit Message.info funktioniert es halbwegs

Alle Fragen zur Programmierung, die nicht in die speziellen Themen passen
Antworten
Roland_
Foriker
Beiträge: 2
Registriert: Do 8. Feb 2007, 16:06
Wohnort: 63674 Altenstadt
Kontaktdaten:

Mit Message.info funktioniert es halbwegs

Beitrag von Roland_ » Do 8. Feb 2007, 16:40

Hallo Gambasfreunde,
meine römische Digitaluhr hat im Januar 2004 bestens funktioniert, jetzt geht nichts mehr (v. 1.9.33 unter SuSE 10.0). Wenn ich den Message.info-Befehl aktiviere, erfolgt die richtige Ausgabe in der TextBox, allerdings stürzt das Programm nach 100 .. 200 Sekunden mit "Stack overflow" ab. Ohne den Befehl passiert scheinbar nichts.
Hier die wichtigsten Bestandteile:

Klasse:
X[7] AS Integer
Y[7] AS String
PUBLIC i AS Integer
...
PUBLIC SUB Form_Open()

X[0] = 1000
X[1] = 500
...
Timer1.Enabled = TRUE
'TextLabel1.Text = ""
TextBox1.Text = ""
END

PUBLIC SUB Timer1_Timer()
m = 0
WHILE 1
Romulus()
'TextLabel1.Text = t_
TextBox1.Text = t_
'PRINT t_
IF m = 0 THEN
Message.Info("", "") ' warum ist dieser Befehl notwendig???
'TextLabel1.Text = ""
ENDIF
WEND
INC m
END

Und das ist die Form:
# Gambas Form File 1.0
{ Form1 Form
MoveScaled(2.125,14.75,125,20)
'Move(17,118,1000,160)
Text = ("")
Border = Window.Fixed
{ TextBox1 TextBox
MoveScaled(7.5,5,110,12.5)
'Move(60,40,880,100)
Font = Font["+6"]
Background = Color.Background
Foreground = &H0000FF&
ToolTip = ("Üb immer Treu und Redlichkeit bis an dein kühles Grab ...")
Expand = True
Text = ("TextBox1")
}
{ Timer1 #Timer
#X = 0
#Y = 0
Enabled = True
}
{ TextLabel1 TextLabel
MoveScaled(118,0,4,4)
'Move(944,0,32,32)
Text = (" ")
}
}

Auch der Tool-Tip kommt nicht.
Romulus ist ein reines Rechenprogramm, das die Zeichenkette für die TextBox erstellt.
mfg Roland
Tel. 0 60 47 / 9 75 81

nibbana
Foriker
Beiträge: 143
Registriert: Fr 16. Dez 2005, 21:32
Kontaktdaten:

Beitrag von nibbana » Do 8. Feb 2007, 19:07

Code: Alles auswählen

PUBLIC SUB Timer1_Timer()
 m = 0
 WHILE 1
 Romulus()
 'TextLabel1.Text = t_
 TextBox1.Text = t_
 'PRINT t_
 IF m = 0 THEN
 Message.Info("", "") ' warum ist dieser Befehl notwendig???
 'TextLabel1.Text = ""
 ENDIF
 WEND
 INC m
 END
Du läufst hier in der WHILE..WEND Schleife ewig im Kreis. Versuch erstmal die Schleife zu beenden bevor der nächste Timer aufgerufen wird.

mfg. nibbana[/code]
"Ich denke, also bin ich." (Descartes)

"Ich denke nicht, also was?" (Zen Meister Seung Sahn)

Roland_
Foriker
Beiträge: 2
Registriert: Do 8. Feb 2007, 16:06
Wohnort: 63674 Altenstadt
Kontaktdaten:

Beitrag von Roland_ » Fr 9. Feb 2007, 10:04

Ja, so gehts, alles in Ordnung.
Herzlichen Dank.
Roland
Tel. 0 60 47 / 9 75 81

Antworten

Wer ist online?

Mitglieder in diesem Forum: Bing [Bot] und 1 Gast