Showing posts with label Bug. Show all posts
Showing posts with label Bug. Show all posts

2013/06/16

Bugs in X-BASIC for iOS V2.1 and its workaround

Some bugs are found in X-BASIC for iOS V2.1.
  1. vpriority() is not effective
  2. tBackgroundAlpha()/gBackgroundAlpha()/kBackgroundAlpha() are not effective immediately.
  3. When you exit the BASIC program after using gTransform() with valid transformation argument, the screen size is wrong the next time it run.
  4. In the input statement, character in the input does not appear.
  5. When you set initial value to dim float by {}, error occurs.
  6. In the function with array argument, an error occurs when you pass the array to the child function.
  7. Element number check of the second or later dimension of the array was incorrect.
  8. The source line pointed by the run-time errors is incorrect.
  9. The error message which occurred in external function is not display.
I will resolve all bugs in V2.2 except the last five. Workaround for the time being is as follows:
  1. After vpriority() call, you may call this function. So it will be reflected immediately.
    func allPageUpdate(page;int)
      print " ";:// modify this line to no problem to display text
      apage(GPAGE0):line(0,0,0,0,0)
      apage(GPAGE1):line(0,0,0,0,0)
      apage(GPAGE2):line(0,0,0,0,0)
      apage(GPAGE3):line(0,0,0,0,0)
      apage(page)
    endfunc
    Example : vpriority(page,GPAGE0,GPAGE1,GPAGE2,TPAGE):allPageUpdate(page)
  2. After the function call, you may call the functions which draw each screen.
    For example, tBackgroundAlpha():print " ".
  3. At program end, you must call gTransform() for releasing transformation.
  4. There is no workaround of input statement bug. Please wait V2.2.
  5. Please assign by (element No.)=float value one by one.
  6. There is no workaround of this bug. Please wait V2.3.
  7. Please check your self.
  8. In most cases, run-time error is pointing to the next line that occurred. If the line is comment line, it points further next line.
  9. There is no workaround of this bug. Please wait V2.3.



In addition, the following is a specification:
  • When you use dimension argument in internal function, you can not use enum constant to the size specified.
    Example : func f(masu(WW,WW);int):// error occur
This is due to the following reasons:
  1. The internal function's name and argument are registered within preprocess of compile.
  2. The enum constant is determined within compile process.
  3. Therefore, in preprocess, the enum constant is not referable.
This is very difficult to solve. I made a comparison between the frequency of use and the effort of implementation and debugging. As a result, I decided this to "limit as a specification". Sorry, please understand.

2013/05/09

Bugs in V1.71

I will inform about found bugs in X-BASIC for iOS v1.71.

1. Printing float without using statement is sometime illegal.

2. When printing float with using statement and set to 0 digit decimal digits,
it is not rounded to the nearest integer in the first decimal place.

3. When there is a decimal place in the iOS version, getSystemversion() returns incorrect iOS version.

4. keyRepeatTime() does not set correctly.

5. At 3.5 inches devices (iPod touch 4 and iPhone 4), the bottom of the screen is cut off.

6. tborder() is not display until print any contents.
You can avoid this by tborder():print " ".

7. It may fall at using float arrays.
8. The startAngle and endAngle of circle() is misinterpreted.
9. It may fall with repeating the selection of program

10. Some BASIC samples can not run normally.

They will be fixed in next V2.0.
Please just wait.