01 2010 档案

摘要:在.NET中如需在非UI线程中改变UI控件属性时,CLR会抛出异常,提示无法在非UI线程中更新界面上的控件(Cross-thread operation not valid)。一般情况下有两种解决办法。第一种就是设置Control的静态属性CheckForIllegalCrossThreadCalls为False,如下:另一种办法,就是使用委托,根据控件的InvokeRequired属性判断当前控... 阅读全文
posted @ 2010-01-30 19:20 dax.net 阅读(1555) 评论(1) 推荐(2) 编辑
摘要:开发中有时候需要根据给定的数据表记录以及该表的字段名,获取字段的值。其实方法很简单,只需要在common数据记录上直接使用圆括号进行引用即可。请参见下面的代码:使用这种方式可以很轻松地跟踪数据表记录的变更历史。 阅读全文
posted @ 2010-01-29 15:59 dax.net 阅读(1082) 评论(0) 推荐(1) 编辑
摘要:在对AOT\Tables下的数据表做BP检查的时候,如果出现“Code to handle the InventDimId field must be added to the Multisite Activation Wizard.” 这样的BP错误,则到InventSiteActivateDimFieldsCheck类中,找到updateableFields或者nonU... 阅读全文
posted @ 2010-01-26 14:53 dax.net 阅读(449) 评论(0) 推荐(0) 编辑
摘要:发生了什么?这是件非常有趣的事情。我们现在可以在X++中编译并执行C#脚本。请看下面的X++代码:执行完上面这段job程序,Dynamics AX就会编译#SourceScript宏中定义好的C#脚本,然后执行脚本程序,并弹出了一个infolog,上面显示了计算结果:30。如下:这是如何实现的?如果你直接将上面的job导入到AOT里去执行,那么在编译阶段就会出错,原因是你的Dynamics AX根... 阅读全文
posted @ 2010-01-20 08:37 dax.net 阅读(985) 评论(3) 推荐(1) 编辑
摘要:在Dynamics AX 6中,有引入一种称为Attribute的新特性。请看:【注:以上代码来自http://blogs.msdn.com/mfp/archive/2009/04/02/ax6-sneak-preview-x-unit-test-improvements.aspx】其实到目前为止,我手头没有拿到Dynamics AX 6的版本,这种新特性也是从上面的博客中看到。但我想,对于只专注... 阅读全文
posted @ 2010-01-17 19:23 dax.net 阅读(537) 评论(0) 推荐(0) 编辑
摘要:这里有篇文章介绍了Dynamics AX 6在MorphX上的又一个新特性:axmodel。axmodel其实是一个layer下的另一种应用程序组织形式,在6.0以前,客户自定义的开发都是在一个特定的layer下进行的,这样会产生一些问题,比如我从两个ISV购买了两套产品,如果是直接使用AOD文件,我没办法将两个产品同时应用在bus层,而只能逐个导入XPO。那么今后如果某个ISV的产品有了升级,我... 阅读全文
posted @ 2010-01-15 14:35 dax.net 阅读(720) 评论(0) 推荐(0) 编辑
摘要:今天在Dynamics AX相关的MSDN博客上看到了Dynamics AX 6.0的新的X++编辑器。这下做X++开发的朋友有希望了。Dynamics AX team采用了Visual Studio的编辑器实现框架,提供了字体设置、修改跟踪、行号、增强的语法着色等令人心动的功能,请看:增强的编辑器: 阅读全文
posted @ 2010-01-15 13:47 dax.net 阅读(728) 评论(1) 推荐(0) 编辑
摘要:在CSDN上,很多朋友会问,C#中如何读取XML文件?如何读取最快?我的回答是,使用XmlTextReader读取的速度是最快的。但也不乏一些效率稍低但也非常有效的读取方式,比如序列化方式。这里详细介绍一下步骤吧。使用Visual Studio的CreateSchema工具,或者XMLSpy等第三方的工具,打开需要读取的XML文件,并创建XSD(推荐使用Visual Studio自带的工具) 比如... 阅读全文
posted @ 2010-01-13 08:09 dax.net 阅读(974) 评论(1) 推荐(1) 编辑
摘要:dynamic类型是.NET 4.0引入的一个新的概念,它的目的是增强与python等动态语言的互操作性。由于动态的原因,使得dynamic类型的变量只有在运行时才能被确定具体类型,而编译器也会绕过对这种类型的语法检查。其实这样做是危险的。下面的代码演示了在C#中如何使用dynamic类型:这段代码是可以编译通过的,尽管Person类中并没有定义Age这个公有属性,因为c的类型是在运行时动态绑定的... 阅读全文
posted @ 2010-01-08 21:31 dax.net 阅读(7159) 评论(0) 推荐(1) 编辑
摘要:在不少情况下,客户要求在Dynamics AX中实现全文搜索的功能,比如在零售行业,客户信息量庞大,为了提高搜索效率,不得不采用全文搜索。要实现全文搜索,就需要在数据表上创建全文索引,之后才能用CONTAINS和CONTAINSTABLE这样的SQL语句进行查询。然而,一旦数据表创建了全文索引以后,在Dynamics AX中就无法进行数据表同步,同步时出现如下错误信息:简单地说,数据表创建全文索引... 阅读全文
posted @ 2010-01-06 08:16 dax.net 阅读(547) 评论(0) 推荐(0) 编辑
摘要:很多情况下,我们会需要通过TableId和RecId来直接获得数据表记录。比如在Dynamics AX中实现全文检索的时候,一种合理的设计就是让全文检索返回RecId,然后再根据不同的TableId构建数据表实例,最终根据返回的RecId获得数据表记录,从而将结果显示给用户。相关代码如下: 阅读全文
posted @ 2010-01-04 12:33 dax.net 阅读(694) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示