Beiträge: 67
Themen: 5
Registriert seit: Jun 2014
Bewertung:
0
Mit dem code geht es, kann aber nicht zwischen lokalen und globalen Variablen unterscheiden. ich weis auch nicht wie das geht, muss ich erst suchen. vermutlich ist das ein flag ein oder so, dass man in der variable selber überprüfen muss. das hier geht also, nur das zuviel gemeckert wird, wenn man dasselbe array in einer lokalen funk nimmt.
JL_0_E11E:
CLR.w nonew
JSR getparameter
+ MOVE.w d2,-(a7)
+ JSR findvariable
+ BNE 'l1
+ JMP errormsg_declaredtwice
+'l1
+ MOVE.w (a7)+,d2
das programm zum testen war dass. der code meckert auch bei dem dim mem.s(300) in der Funktion.
DEFTYPE .l mem
Dim mem.s(200)
Function test{}
Dim mem.s(300)
End Function
test{}
Beiträge: 666
Themen: 77
Registriert seit: Oct 2013
Bewertung:
0
habs mal im Compiler eingebaut, funktioniert soweit das nun mem.s() angemeckert wird
Danke
Beiträge: 666
Themen: 77
Registriert seit: Oct 2013
Bewertung:
0
Wie geschrieben, es läßt sich nicht kompilieren...
desweiteren habe ich auch noch 6 Stellen gefunden die CacheClearU verwenden.
Das sollten wir auch noch so ändern wie du die Anpassungen im Compiler gemacht hast für MorphOS
Beiträge: 67
Themen: 5
Registriert seit: Jun 2014
Bewertung:
0
ne lass die stellen besser so mit dem cacheclearu. denn speedkritisch sind die nicht. wie ich schon sagte, es ist eher ein Hack.
@Thomas
Ich habe mal geschaut was 8e3c macht. das scheint wenn nowdeclare 2 ist auch eine fehler zu bringen bei variablen. Geht aber nicht bei dim, auch wenn man nowdeclare auf 2 setzt oder bei nowdeclare 1 auch einen error ausgibt. wahrscheinlich sind bei dim die flags anders als bei var. hast du noch ein original blitz 2 installiert ?. kannst dort mal testen, ob der fehler dort auch auftritt ?? und mal im source schauen
Beiträge: 289
Themen: 10
Registriert seit: Oct 2013
Bewertung:
0
@Blackbird
Ich habe keine Probleme den Debugger zu compilieren, mit den Änderungen für Dim von Bernd, nach folgenden Änderungen mem.s(200), scr.s(200) und dis.s(200) umbenannt indem ich "Str" angehängt habe damit ich überall memStr(),scrStr() und disStr() stehen habe und sowie einen Cast eingefügt für *prt=&...Str(...) in *prt=(.l)&...Str(...).
@Bernd
Ich habe BlitzBasic2 nicht mehr installiert werde ich aber mal testen wenns noch läuft, im Sourcecode davon werde ich dann nachsehen.
Beiträge: 289
Themen: 10
Registriert seit: Oct 2013
Bewertung:
0
@Bernd
So ich habe das BlitzBasic Demo 2.10 aus dem Aminet zum laufen bekommen und getestet da kommt keine Fehlermeldungen auf bei DIM und DEFTYPE egal in welcher Reihenfolge.
Beiträge: 67
Themen: 5
Registriert seit: Jun 2014
Bewertung:
0
vielleicht kommen die Probleme auch weil blackbird dass mit dem cache geändert hat. denn ist schon unwahrscheinlich, dass der Code, fehler bringt durch das dim. denn auch vorher wird der code nicht ausgeführt.
If win = #_winSource
AddIDCMP #IDCMP_MOUSEMOVE
f = f OR #WFLG_REPORTMOUSE ; <----- das da
;Poke.l ?__gimmi+4,1
End If
jetzt muss man halt noch rausfinden, wie man einen local dim oder global dim unterscheidet. oder in einer lokal func einen shared dim. wie das geht weis ich alles nicht, muss ich erst erforschen, an den dims habe ich diesbezüglich nie was gemacht