如何更新dorado配置规则

如何更新dorado配置规则,第1张

问题解答

在Dorado开发中,经常会升级dorado提供的jar包,或引入一些新的dorado add on,一般情况下升级jar都只要将工程lib下的jar替换就可以。

特殊情况

某个控件新增了几个新的属性,但是IDE的编辑器中无法看到;

dorado-core提供了新的控件,但是IDE中无法看到;

新引入的dorado add on的jar包自带了一些dorado控件,但是IDE中无法看到;

解决方法

更新Dorado的规则文件,Dorado的IDE是根据规则文件动态提供控件的编辑界面的,首先右键单击工程的根节点,找到其中的更新Dorado配置规则菜单,单击执行规则更新,规则文件的更新办法如下:

更新规则的时候,如果当前工作区有.view.xml视图已经被打开,则会出现如下的信息提示框;

确定后开始规则文件的更新,一般来说整个过程在30秒以内,更新成功后会出现如下的提示信息;

这样就完成了当前项目的规则文件的更新。

其他注意事项

如果更新规则出现问题,则会出现如下的提示信息:

这个时候就要注意查看控制台中的错误信息:

可以的,android中使用布局是为了加快开发,最终控件还是通过解析XML后,通过代码添加的。

具体方法:

例如你的布局是一个Linearlayout linear上面有一本Button btn1

要删除这个btn1要做的就是 linear.removeView( btn1 )

动态添加也是一样的

linear.addView( btn2 )

要注意的是,Button btn2 = new Button( context )这时候控件是没有大小的,必须设置控件大小以后添加了才能看到。设置控件大小的方法是view.setLayoutParams()

希望能够帮到你。

例程:

import win.ui

/*DSG{{*/

wform = win.form(text="AddCtrl"right=880bottom=543max=false)

wform.add(

button={cls="button"text="开始"left=8top=189right=75bottom=247flat=1z=1}

map={cls="custom"text="自定义控件"left=0top=261right=876bottom=537bgcolor=15793151border=1z=2}

)

/*}}*/

var mpxy={}//x,y,width,height,text,indexId : {105,210,55,35,"M0101",1} //定义控件属性

var mcount=0//记录控件数量

var mxy={

      {100,210,55,35},

      {100,170,55,35},

      {45,105,55,35},

      {45,65,55,35},

      {75,5,55,35}

}  //定义控件起始显示区域

initmpxy=function(xy){

    var d=0

    var id=0

for(i=1141){

d=(i-1)*xy[1][3]

id++

table.push(mpxy,{xy[1][1]+d,xy[1][2],xy[1][3],xy[1][4],"M01"+string.right("0"+i,2),id})

id++

table.push(mpxy,{xy[2][1]+d,xy[2][2],xy[2][3],xy[2][4],"M02"+string.right("0"+i,2),id})

id++

table.push(mpxy,{xy[5][1]+d,xy[5][2],xy[5][3],xy[5][4],"M05"+string.right("0"+i,2),id})

}

for(i=1151){

d=(i-1)*xy[1][3]

id++

table.push(mpxy,{xy[3][1]+d,xy[3][2],xy[3][3],xy[3][4],"M03"+string.right("0"+i,2),id})

id++

table.push(mpxy,{xy[4][1]+d,xy[4][2],xy[4][3],xy[4][4],"M04"+string.right("0"+i,2),id})

}

mcount=id

}//初始化控件区域和位置

initmpxy(mxy)

wform.button.oncommand = function(id,event){

//在窗体上动态添加控件和事件

    for(i=1mcount1){

      var sc=mpxy[i][5]

      wform.add( [sc]={cls="button"bottom=mpxy[i][2]+mpxy[i][4]right=mpxy[i][1]+mpxy[i][3]left=mpxy[i][1]top=mpxy[i][2]z=1text=mpxy[i][5]id=i+100autoResize=falsehide=1edge=1})//hide=1为默认隐藏,这样显示的时候不会闪烁

  wform[sc].oncommand=function(id,event){

win.msgbox(sc,mpxy[i][6],0,0)

  }

}

for(i=1mcount1){

  wform[mpxy[i][5]].show()

}

//在可视控件内动态添加控件和事件

    var bt=""

for(i=1mcount1){

bt=mpxy[i][5]

wform.map.addCtrl([bt]={cls="button"text=mpxy[i][5]left=mpxy[i][1]+1top=mpxy[i][2]right=mpxy[i][1]-2+mpxy[i][3]bottom=mpxy[i][2]+mpxy[i][4]id=i+300autoResize=false

oncommand=function(id,event){

win.msgbox(bt,"控件内:"+ mpxy[i][6],0,0)

        }

    })

    }

}

wform.button.wndproc = function(hwnd,message,wParam,lParam){

//wform.cmdTranslate(hwnd,message,wParam,lParam)

}//新版的aardio 不用加这句也可以执行动态控件的事件

wform.show()

return win.loopMessage()


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/7866200.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-10
下一篇 2023-04-10

发表评论

登录后才能评论

评论列表(0条)

保存