BUG??? Funktion = DIM
Übersicht

![]() |
EPSBetreff: BUG??? Funktion = DIM |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi zusammen...gab's hier nicht mal ne BUG Sektion? Na egal...
Nach 3 Tagen Fehlersuche hab ich jetzt einen Programm Fehler gefunden und mich tierisch aufgeregt, weil ich nämlich der Meinung bin das der Compiler den hätte erkennen müssen. Vorab...mein Programm ist recht umfangreich und von daher hab ich es einfach übersehen. Ich hatte eine Dimension angelegt z.B.: DIM WordWidth(200) und im Verlauf des Programms auch zufällig eine Funktion erstellt die den selben Namen bekam: Function WordWidth(txt$). Beim Versuch mit Hilfe der Funktion einen Wert zu ermitteln bekam ich nur Unsinn heraus und ich hab's einfach nicht verstanden. Wie auch immer...die Lösung des Problems: Die Funktion gab mir nicht den errechneten Wert zurück, sondern ich bekam den Wert der in der Dimension steht. Nun ist mir ja bekannt das man Funktionen und Variablen gleich benennen kann, aber das hier finde ich wirklich schwerwiegend, weil ja nicht einmal der Indextyp und die Funktionsvariable übereinstimmen. Ich denke das dies der Compiler erkennen müsste und melden sollte das hier ein Funktionsname und eine Dimension den gleichen Variablen/Funktionsnamen tragen. soviel von einem stinksauren EPS ![]() |
||
.:_]TRaSh |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
schlimm schlimm ![]() |
||
[20:17] IMurDOOM: hm irgendwie is die mitte des viehs kaputt
[20:17] TRaSh: ein bisschen [20:18] DarkAngel: es tut mir irgend wie leid |
![]() |
Hubsi |
![]() Antworten mit Zitat ![]() |
---|---|---|
Habs gerade probiert, ein lecker Bug. Jemand mit vernünftigen Englischkenntnissen (EPS vielleicht?) sollte Mark kontaktieren. | ||
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn... |
David |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hi!
Code: [AUSKLAPPEN] Graphics 800, 600, 32 Global test[ 10 ] For i = 0 To 10 test[ i ] = i Next For i = 0 To 10 Print test[ i ] Next WaitKey Function test( val ) Return 10 End Function So geschrieben gibts auch keine Fehler... Und der Bug ist nun wirklich nicht übelst! ![]() grüße |
||
http://bl4ckd0g.funpic.de |
![]() |
EPS |
![]() Antworten mit Zitat ![]() |
---|---|---|
@David...so geschrieben ist es auch ein BlitzArray und der BUG ist schon übel...selbst QuickBasic macht nicht solche Fehler.
Ich wünsche dir mal ein großes Projekt mit ein paar 10.000 Zeilen und dann kommt dieser Fehler... |
||
denial |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Also ich finde den Bug auch schwerwiegend - wenn das nicht erkannt wird, versagt der BlitzBasic Compiler schlicht und ergreifend auf semantischer Ebene.
Sollte den Entwicklern schon mitgeteilt werden. |
||
Apocalyptic |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Korrigiert mich, falls ich was falsch verstehe, aber wie soll der Compiler herausfinden, was hiermit gemeint ist:Code: [AUSKLAPPEN] Dim Blubb%(10)
?
Wert=Blubb(10) Function Blubb%(Wert%) Return Wert end function Da müsste ja die Syntax anders aufgebaut sein, so dass Arrays z.B. mit anderen Klammern geschrieben werden. EDIT: Ups, Problem falsch verstanden ![]() |
||
Suum cuique
[ www.ffs-net.de.vu ] [ Raycaster ] |
![]() |
EPS |
![]() Antworten mit Zitat ![]() |
---|---|---|
@Apocalyptic....naja bist ja drauf gekommen...
Also ich selbst kann leider kein so gutes englisch...hatte nicht jemand einen guten Draht zu Mark? |
||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Wie er das erkennen soll: Normalerweise müsste er wegen namenskollosion schon im precompiler ausstaugen ... | ||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
ApocalypticBetreff: Re: BUG??? Funktion = DIM |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Jaja, schon gut, hab das ganze nur überflogen und das hier überlesen:
EPS hat Folgendes geschrieben: Ich denke das dies der Compiler erkennen müsste und melden sollte das hier ein Funktionsname und eine Dimension den gleichen Variablen/Funktionsnamen tragen.
|
||
Suum cuique
[ www.ffs-net.de.vu ] [ Raycaster ] |
BlitzBirne |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hmm...
Ich halte das nicht für einen Bug. Ich denke mal, der Compiler wandelt txt$ in ne Zahl um - automatische Typumwandlung. Ich werde mich jedenfalls hüten, für 2 Sachen exakt den selben Namen zu verwenden - sonst kommt nämlich genau sowas bei raus, und man sucht sich den A**** blutig. ![]() Naja, und das nachträgliche Umändern des Namens mit der replace-Funktion dürfte auch umständlicher werden, da für 2 Verschiedene Sachen der Selbe name verwendet wurde - Also noch ein Grund, nicht so zu programmieren. Fazit: Das als Bug zu bemängeln halte ich für unangemessen. Soll keine Kritik sein, nur nen kleiner "Hinweis" meinerseits ![]() MfG |
||
![]() |
eXceptION |
![]() Antworten mit Zitat ![]() |
---|---|---|
BlitzBirne hat Folgendes geschrieben: der Compiler wandelt txt$ in ne Zahl um - automatische Typumwandlung.
ich glaub eher die addresse von txt$ benutzt wird... |
||
Norweger...
Spreche aber verdammt gut 8086 |
![]() |
Hubsi |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das war ja auch nicht absichtlich so geschrieben und für den Compiller sollte es ja kein Problem sein sowas zu erkennen ![]() |
||
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn... |
![]() |
TheShadowModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
hm arrays haben wohl priorität vor funktionen - und diese werden zuerst genommen...
man kann ja vor arrays immer ein a davor schreiben: DIM a_stars(100) |
||
AMD64 3500+ | GeForce6600GT 128MB | 1GB DDR | WinXPsp2 |
D²O |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
TheShadow hat Folgendes geschrieben: hm arrays haben wohl priorität vor funktionen - und diese werden zuerst genommen...
man kann ja vor arrays immer ein a davor schreiben: DIM a_stars(100) Jo, sowas in der Art wie die "Ungarische Notation". Ich nehm Dim immer das hier "d_", functionen das "f_" und bei Localen Variablen, "l_", als anfang. So kann man manch fehler umgehen und kann denn eigendlichen Variablen Namen mehrfach benutzen wenn es zu einer bestimmten Gruppe dazu gehöhren soll. Z.B. Timer Code: [AUSKLAPPEN] global Timer
Dim d_Timer(1) function f_timer(l_timer = 1) l_timer.......... return l_timer end function |
||
Blitz+; Blitz3d; BlitzMax; GLBasic; Purebasic;
GameMaker Studio 1.4xx; AGK; |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group