On Tue, 24 Nov 2009 08:09:28 -0500, Long Chang <[email protected]>
wrote:
I use the d1 & tango trunk & dwt-win.
there is a new dispose method for Object, and Dwt-win already have a
dispose
width Event argument.
I try it with outer, the error is :
x.d(17): Error: undefined identifier outer
x.d(17): Error: undefined identifier outer
x.d(17): Error: no property 'toString' for type 'int'
x.d(17): Error: function expected before (), not 1 of type int
Hm... I've noticed that you can't just call outer, you have to use
this.outer. Does anyone know if this is expected behavior or a bug? Why
would it be expected behavior?
This code compiles for me and works on dmd 2.033
import std.stdio;
public interface Listener {
void handleEvent (int);
}
class Test{
Listener listener;
this(){
listener = new class() Listener {
public void handleEvent(int evt) {
this.outer.toString(evt);
}
};
}
void call()
{
listener.handleEvent(0);
}
void toString(int evt){
writefln("event is %d", evt);
}
}
void main(){
(new Test()).call();
}
-Steve