Infinit loop

wongtd wongtd at smm.com
Sat May 10 21:46:13 PDT 2008


see this here

module Box; import dwt.DWT; import dwt.widgets.Composite; import dwt.widgets.Control; import dwt.widgets.Text; import dwt.widgets.Shell; import dwt.widgets.Display; import tango.io.Stdout; class Box {     private Control[char[]] controls; // Use associative array     this (Composite parent ,int style ) {     auto box = new Composite(parent,DWT.SINGLE);     box.setSize(700,40);     auto No = new Text(box,DWT.LEFT);     No.setBounds(1,15,10,15);     No.setText("");            auto Date = new Text(box,DWT.LEFT);     Date.setBounds( 21, 15, 60, 15);     Date.setText("");            auto Content   = new Text(box,DWT.LEFT);     Content.setBounds( 90, 15,70, 15);     Content.setText("");     box.setVisible = true;     controls["No"] = No;     controls["Date"] = Date;     controls["Content"] = Content;          box.setTabList(controls.values);   }   void setText(char[] name, char[] text)   {       controls[name].setText(text);    } } void main () {   Display display = new Display ();   Shell shell = new Shell (display);   shell.setText("Boxes");      Box mybox1 = new Box(shell,DWT.SINGLE);   mybox1.setText("No","wire");   Box mybox2 = new Box(shell,DWT.SINGLE);   mybox2.setText("Content","Fishingline");   shell.pack();   shell.open();           while (!shell.isDisposed ()) {     if (!display.readAndDispatch ()) display.sleep ();   }   display.dispose (); } /*---------------------------------------------------------------------------- Box.d(44): Error: no property 'setText' for type 'dwt.widgets.Control.Control' Box.d(44): Error: function expected before (), not 1 of type int */

I play with and put in 

}

  void setText(char[] text)
{ 
  setText(text);//dont understand why this does not cause infinite loop?
}

  void setText(char[] name, char[]text)
  {
//   name.setText(text);
  }
}

with layout in shell above compiles and runs giving 9 text boxes with right text.

Question   When setText(name,text ) is called Why does setText(text) not cause infinit loop?
It calls itself seems so
I tried to put in 'override' but would not compile


More information about the Digitalmars-d-learn mailing list