Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
GWT超级开发模式,SimpleCheckBox.wrap()断言错误_Gwt_Checkbox_Assert_Gwt Super Dev Mode_Gwt Dev Mode - Fatal编程技术网

GWT超级开发模式,SimpleCheckBox.wrap()断言错误

GWT超级开发模式,SimpleCheckBox.wrap()断言错误,gwt,checkbox,assert,gwt-super-dev-mode,gwt-dev-mode,Gwt,Checkbox,Assert,Gwt Super Dev Mode,Gwt Dev Mode,使用GWT时,我遇到了SimpleCheckBox.wrap()方法的问题,因为它在DevMode中生成了AssertionError。我曾经通过添加只有在GWT.isScript()为true时才执行的代码来解决这个问题。我现在在SuperDevMode方面也面临同样的挑战,问题是:有没有一种方法可以在运行时从源代码中识别SuperDevMode 提前谢谢 另外,现在没有快速的方法可以摆脱代码中的.wrap()调用,所以问题仅限于运行模式识别 Upd。1: 我使用no.wrap()方法创建了一

使用GWT时,我遇到了
SimpleCheckBox.wrap()
方法的问题,因为它在DevMode中生成了AssertionError。我曾经通过添加只有在
GWT.isScript()
为true时才执行的代码来解决这个问题。我现在在SuperDevMode方面也面临同样的挑战,问题是:有没有一种方法可以在运行时从源代码中识别SuperDevMode

提前谢谢

另外,现在没有快速的方法可以摆脱代码中的
.wrap()
调用,所以问题仅限于运行模式识别

Upd。1:

我使用no.wrap()方法创建了一个新的“特殊”类,并将以下行添加到模块的gwt.xml文件中:

<set-property name="superdevmode" value="on"/>
<replace-with class="com.project.client.MyWidgetSuperdevmode">
    <when-type-is class="com.jostleme.jostle.ui.rich.client.MyWidgetProdMode" />
    <when-property-is name="superdevmode" value="on"/>
</replace-with>


并尝试了多种方法:通过书签编译,以旧的方式重新编译项目,重新启动常规和codeserver应用程序;在sourcemaps中,只能看到MyWidgetProdMode类。我做错了什么?编译时会加载新类吗?

有一个
superdevmode
属性,您可以在延迟绑定规则中使用,但是没有类似于
isScript()
的方法来检测您是否在superdevmode中。如果断言失败,则该属性的值可以为on或off

,这强烈表明您使用的SimpleCheckBox.wrap不正确,可能是通过包装未附加的元素,或者尝试包装已经是另一个小部件子级的元素。这两种情况都可能导致内存泄漏——尽量避免断言条件,而不是避免编译断言。科林,是的,这是真的。小部件的初始化发生了,小部件还没有连接。稍后,我将查看设置复选框值的意义有多大。