Seite 1 von 2
Assembler Error
Verfasst: 28.10.2004 15:32
von Lebostein
Hallo,
nach einer größeren Umstrukturierungsmaßnahme in einem Programm (von Arrays auf Listen) bekomme ich beim kompilieren folgende Fehlermeldung:
Ich verwende weder Inline-Assembler noch hab ich die Assembler-Unterstützung aktiviert. Habt ihr so einen Fehler schon mal gesehen?
Das dumme ist, der Debugger sagt nichts dazu, das Programm wird mit dieser Meldung einfach beendet, also kann ich auch nicht lokalisieren, wo der Fehler liegt...
Re: Assembler Error
Verfasst: 28.10.2004 15:37
von freedimension
Lebostein hat geschrieben:Das dumme ist, der Debugger sagt nichts dazu, das Programm wird mit dieser Meldung einfach beendet, also kann ich auch nicht lokalisieren, wo der Fehler liegt...
Wenn ich die Fehlermeldung richtig interpretiere kannst du das schon. Der Fehler müsste in Zeile 2560 des erzeugten ASM-Outputs sein.
Am Besten du erzeugst eine ASM-Datei mit dem Kommandozeilenswitch /COMMENTED, kompilierst diese von Hand und schaust die Fehlermeldung nochmal an.
Verfasst: 28.10.2004 15:53
von Lebostein
Hab grade mal ne Menge Code rausgeschmissen und ausprobiert. An dieser Zeile hängt er sich auf:
Code: Alles auswählen
SetGadgetText(#Menu_Edit_Verb_mx, Str(glob()\menu\wide[0]\valx))
Die Verwendeten Strukturen sehen so aus:
Code: Alles auswählen
Structure v
valx.w ; x-Wert
valy.w ; y-Wert
EndStructure
Structure c
colr.w ; Rote farbe
colg.w ; Grüne Farbe
colb.w ; Blaue Farbe
EndStructure
Structure menu
name.s ; Name des Menus
text.s[09] ; Text der Verben
pref.v[05] ; Referenzpunkte
wide.v[03] ; Breite der Bereiche
posi.v[12] ; Position der Bereiche
pals.c[15] ; Palette
face.b[09600] ; GUI-Bitmap
verb.b[01800] ; Verb-Bitmap
move.b[00900] ; Scroll gedrückt
stop.b[00900] ; Scroll deaktiviert
maus.b[00240] ; Mauszeiger Standard
user.b[00240] ; Mauszeiger kombinieren
EndStructure
Structure glob
...
menu.menu
...
EndStructure
Die Liste wurde so angelegt:
Was soll den daran falsch sein.....
Verfasst: 28.10.2004 16:01
von Lebostein
Hab grade mal die Zeile durch folgenden Code getauscht:
Code: Alles auswählen
glob()\menu\wide[0]\valx = 5 ...keine Probleme....
Debug glob()\menu\wide[0]\valx ...es wird 5 ausgegeben....
Debug Str(glob()\menu\wide[0]\valx) ...Programm stürzt ab....

Verfasst: 28.10.2004 16:03
von freedimension
Mach mal folgendes:
Code: Alles auswählen
; aus
SetGadgetText(#Menu_Edit_Verb_mx, Str(glob()\menu\wide[0]\valx))
; mach
dummy.l = glob()\menu\wide[0]\valx);
SetGadgetText(#Menu_Edit_Verb_mx, Str(dummy.l))
Ist zwar nicht toll, könnte aber vielleicht helfen.
EDIT: Ach ja, wieviele dieser Strukturen werden denn gleichzeitig eingesetzt? Wenn es wenige sind, kommst du billiger weg wenn du gleich den Long-Typ verwendest, die 4 Byte machen nicht wirklich was aus.
Verfasst: 28.10.2004 16:13
von Lebostein
So, für alle zum Testen:
Code: Alles auswählen
Structure v
valx.w ; x-Wert
valy.w ; y-Wert
EndStructure
Structure c
colr.w ; Rote farbe
colg.w ; Grüne Farbe
colb.w ; Blaue Farbe
EndStructure
Structure a
maxi.w ; Maximalwert der Animation
tick.w ; Zeitschritt
EndStructure
Structure anim
name.s ; Name der Figur
pref.v ; Referenzpunkt
talk.a ; Redeanimation
walk.a ; Gehanimation
pals.c[16] ; Palette
head.b[13824] ; Kopfbitmap
body.b[34560] ; Körperbitmap
EndStructure
Structure menu
name.s ; Name des Menus
text.s[09] ; Text der Verben
pref.v[05] ; Referenzpunkte
wide.v[03] ; Breite der Bereiche
posi.v[12] ; Position der Bereiche
pals.c[15] ; Palette
face.b[09600] ; GUI-Bitmap
verb.b[01800] ; Verb-Bitmap
move.b[00900] ; Scroll gedrückt
stop.b[00900] ; Scroll deaktiviert
maus.b[00240] ; Mauszeiger Standard
user.b[00240] ; Mauszeiger kombinieren
EndStructure
Structure glob
anim.anim
menu.menu
EndStructure
NewList glob.glob()
AddElement(glob())
glob()\menu\wide[0]\valx = 5
Debug glob()\menu\wide[0]\valx
Debug Str(glob()\menu\wide[0]\valx)
Wer findet den Fehler?
EDIT: wenn ihr 'anim.ainm' in der glob-Struktur auskommentiert, funktioniert es... aber warum?
Verfasst: 28.10.2004 16:28
von Lebostein
Wenn man die glob-Struktur rumdreht, geht's plötzlich:
Da ist was faul in den tiefen von PureBasic

Verfasst: 28.10.2004 22:09
von Zaphod
probier mal aus den words
Code: Alles auswählen
Structure v
valx.w ; x-Wert
valy.w ; y-Wert
EndStructure
integers zu machen
Code: Alles auswählen
Structure v
valx.l ; x-Wert
valy.l ; y-Wert
EndStructure
Verfasst: 29.10.2004 01:13
von Lars
Ich würde sagen, Workaround schön und gut, aber erstmal ab damit an
Fred, das ist ja wohl ein ziemlich eindeutiger PB Bug.
Verfasst: 29.10.2004 08:18
von Lebostein
...ist schon gestern Nachmittag geschehen..
Fred scheint aber nicht da zu sein, sein letzter Post im engl. Forum geht auf den 26.10. zurück.... er wird schon wieder auftauchen
