digitalmars.D.dwt - dwt-win Path bug with tango 0.99.7
theres is Break change in tango 0.99.7L Backslashes ( \ ) are no longer accepted as in FilePath and PathParser - use Path.standard before passing paths to them. for example, dwtx.jface.preference.DirectoryFieldEditor line 59: auto f = new FilePath(getTextControl().getText()); sholud be: auto f = new FilePath(Path.standard(getTextControl().getText())); otherwise, fileDialog.setFilterPath(startingDirectory.path); will failure. all modules imported FilePath or Path should do a check, my program crashed: Exception occurred Exception of type tango.core.Exception.IOException in (0): unexpected '\' character in path: C:\Documents and Settings\Administrator\Application Data\Software I haven't found the issue this time. -- yidabu <yidabu.spam gmail.com> http://www.dsource.org/projects/dwin D 语言-中文(D Chinese): http://www.d-programming-language-china.org/ http://bbs.d-programming-language-china.org/ http://dwin.d-programming-language-china.org/ http://scite4d.d-programming-language-china.org/
Jul 30 2008
On Thu, 31 Jul 2008 10:27:38 +0800 yidabu <yidabu.spam gmail.com> wrote:theres is Break change in tango 0.99.7L Backslashes ( \ ) are no longer accepted as in FilePath and PathParser - use Path.standard before passing paths to them. for example, dwtx.jface.preference.DirectoryFieldEditor line 59: auto f = new FilePath(getTextControl().getText()); sholud be: auto f = new FilePath(Path.standard(getTextControl().getText())); otherwise, fileDialog.setFilterPath(startingDirectory.path); will failure. all modules imported FilePath or Path should do a check, my program crashed: Exception occurred Exception of type tango.core.Exception.IOException in (0): unexpected '\' character in path: C:\Documents and Settings\Administrator\Application Data\Software I haven't found the issue this time.modules that import FilePath: D:/d/dmd/src/dwt-addons/dwtx/jface/preference/DirectoryFieldEditor.d D:/d/dmd/src/dwt-addons/dwtx/jface/preference/FileFieldEditor.d D:/d/dmd/src/dwt-addons/dwtx/jface/preference/PathEditor.d D:/d/dmd/src/dwt-win/dwt/dwthelper/File.d -- yidabu <yidabu.spam gmail.com> http://www.dsource.org/projects/dwin D 语言-中文(D Chinese): http://www.d-programming-language-china.org/ http://bbs.d-programming-language-china.org/ http://dwin.d-programming-language-china.org/ http://scite4d.d-programming-language-china.org/
Jul 30 2008
runtime exception: Exception occurred Exception of type tango.core.Exception.IOException in (0): unexpected '\' character in path: C:\Documents and Settings\Owner\My Documents ddbg captured: (tango.core.Exception.IOException "<console> :: The handle is invalid.") at KERNEL32.dll (0x7c812a5b) thread(2276) ->us -> Example code (based on ShowFieldPrefs.d): import dwtx.jface.preference.DirectoryFieldEditor; import dwtx.jface.preference.FileFieldEditor; import dwtx.jface.preference.FieldEditorPreferencePage; import dwtx.jface.preference.PathEditor; import dwtx.jface.preference.StringFieldEditor; import dwtx.jface.preference.IPreferenceStore; import dwtx.jface.preference.PreferenceManager; import dwtx.jface.preference.PreferencePage; import dwtx.jface.preference.PreferenceNode; import dwtx.jface.preference.PreferenceStore; import dwtx.jface.preference.PreferenceDialog; import dwtx.jface.resource.ImageDescriptor; import dwt.widgets.Display; import dwt.widgets.Composite; import dwt.widgets.Label; import dwt.widgets.Button; import dwt.widgets.Text; import dwt.widgets.Control; import dwt.events.SelectionAdapter; import dwt.events.SelectionEvent; import dwt.layout.RowLayout; import dwt.layout.GridLayout; import dwt.layout.GridData; import dwt.DWT; import dwt.dwthelper.utils; import tango.io.File; import Path = tango.io.Path; version(JIVE) import jive.stacktrace; const char[] FILENAME = "showfieldprefs"; /** * This class demonstrates field editors */ public class FieldEditorPageOne : FieldEditorPreferencePage { public this() { // Use the "flat" layout super(FLAT); } /** * Creates the field editors */ protected void createFieldEditors() { // Add a directory field DirectoryFieldEditor dfe = new DirectoryFieldEditor("myDirectory", "Directory:", getFieldEditorParent()); addField(dfe); // Add a file field FileFieldEditor ffe = new FileFieldEditor("myFile", "File:", getFieldEditorParent()); addField(ffe); // Add a path field PathEditor pe = new PathEditor("myPath", "Path:", "Choose a Path", getFieldEditorParent()); addField(pe); } } /** * This class demonstrates JFace preferences and field editors */ public class ShowFieldPrefs { /** * Runs the application */ public void run() { // Display display = new Display(); // Create the preference manager PreferenceManager mgr = new PreferenceManager(); // Create the nodes PreferenceNode one = new PreferenceNode("one", "One", null, FieldEditorPageOne.classinfo.name ); // Add the nodes mgr.addToRoot(one); // Create the preferences dialog PreferenceDialog dlg = new PreferenceDialog(null, mgr); // Set the preference store PreferenceStore ps = new PreferenceStore(FILENAME); try { ps.load(); } catch (IOException e) { // Ignore } dlg.setPreferenceStore(ps); // Open the dialog dlg.open(); try { // Save the preferences ps.save(); } catch (IOException e) { ExceptionPrintStackTrace(e); } // display.dispose(); } /** * The application entry point * * param args the command line arguments */ public static void main(String[] args) { (new ShowFieldPrefs()).run(); } } void main(){ if( !Path.exists( FILENAME ) ){ scope prefs = new File( FILENAME ); version(linux){ prefs.write( import("jface.showfieldprefs.properties.linux" )); } version(Windows){ prefs.write( import("jface.showfieldprefs.properties.win" )); } } ShowFieldPrefs.main( null ); } -- yidabu <yidabu.spam gmail.com> http://www.dsource.org/projects/dwin D 语言-中文(D Chinese): http://www.d-programming-language-china.org/ http://bbs.d-programming-language-china.org/ http://dwin.d-programming-language-china.org/ http://scite4d.d-programming-language-china.org/
Jul 30 2008