Private variables assignment
Please Login to Remove!
Hi.
I have a very strange behavior of my application at 8800 blackberry device.
For some strange reason I could not assign a value to private int class members. At device simulator it works OK.
Can someone take a look and help me?
Thank you,
Rainman
Here is a simplified code:
PenDemo.java
class PenDemo extends UiApplication
{
private PenDemoScreen _screen;
// constructors and so on
//.....
// inner class
private class InputThread extends Thread
{
public void run()
{
//..........
XYPoint[] buffer;
// ......
for (;;)
{
penPoint = new XYPoint(buffer[2], buffer[3]);
xyPoint = new XYPoint();
// in TransformToXY I'm using classes from
// other project in my JDE, but I deploy it into
// devise
TransformToXY(penPoint, xyPoint);
// addPoint will lead to problem
// statement
_screen.addPoint(xyPoint.x, xyPoint.y);
_screen.invalidate(xyPoint.x, xyPoint.y, 1, 1);
}
}
//...
}
}
PenDemoScreen.java
class PenDemoScreen extends MainScreen
{
private DrawArea _drawArea;
//.....
public void addPoint(int x, int y)
{
_drawArea.addPoint(x, y);
}
// .........
}
DrawArea.java
class DrawArea extends BitmapField
{
private int _newX;
private int _newY;
private boolean _pointAdded;
public void addPoint(int x, int y)
{
// here is a problem.
// when I trace this code in simylator, I could see
// correct assignment and _newX and _newY obtains
// there new values.
// at device _newX and _newY has some values and they
// could not been changed they are the same during app
// execution and when I run app next time they could
// have another values.
// The very strange thing that _pointAdded could be
// changed.
this._newX = x;
this._newY = y;
this._pointAdded = true;
}
public void paint(Graphics graphics)
{
graphics.drawLine(10, 10, 234, 568);
if(this._pointAdded)
{
graphics.setColor(Graphics.BLACK);
graphics.drawPoint(this._newX, this._newY);
this._pointAdded = false;
}
}
}
|