Colin Han 2008-10-07 21:22
@RednaxelaFX
我不知道微软的项目是怎么管理的,但是我的项目是绝对不会在项目的后期进行很多的调整的。
但是,在Asp.NET futures的最新的预览版中的源代码中,ExtensionTypeAttribute上提供了Registor方法。从意思上看来,似乎是要放在DLR中的。但是,在IronPython 2.0 Bata 5中,却没有这个Registor方法。反而是放在PythonBinding中了。我不太明白DLR在各个不同的发布包中那个更新,我觉的似乎IronPython的应该更新一些。但是,这个变化太古怪了。不理解,有时间还是在深入研究一下。或者,等到IronPython RC后,一切才能明了。
Colin Han 2008-10-06 17:31
@RednaxelaFX
呵呵,说的没错。确实是IronPython.Runtime.Calls.PythonBinder搞得。只是奇怪为什么没有作为默认实现放在Microsoft.Scripting.Core里面。也许只有IronPython支持这个Attribute.
Colin Han 2008-10-06 13:09
@AlexLiu
呵呵,谢谢。
Colin Han 2008-10-04 15:46
Colin Han 2008-09-27 09:18
MultiRow.MRows[0].Hidden = true; // 隐藏一个MRow.
MultiRow.SetColumnWidth(columIndex, 0); // 隐藏一个Column.
呵呵,MultiRow v5.0是一个重新设计了的控件,功能更加强大,操作更加简单。
最重要的是:性能得到了很大的提高。有时间,你可以去体验一下。
Colin Han 2008-09-26 12:56
hi, 我是MultiRow的开发人员。Google到你的文章,很高兴你们使用MultiRow这个产品。
给你一个小建议:
在设计一个Template时,可以给每一个单元格指定名字(通过Key属性,5.0中是通过Name属性)。如果你的一个基本航中包含多行的时候,会极大的提高你的工作效率。
例如:
for(int i=0;i<datatable.rows.count;i++)
{
this.multiRowSheet1.MRows[i][“EmployeeName"].Text = datatable.rows[i]["EmployeeName"].Tostring();
}
Colin Han 2008-09-16 09:01
@RednaxelaFX
IDynamicObject我还没有看到。稍后会研究一下。谢谢你的提醒。
另外,IronPython已经实现了很好的对CLR对象互操作方面的支持。只是对于一些动态类型所特有的支持有限。需要我们自己实现。
我这里试图由浅入深的探讨这个问题。在“使CLR对象对动态语言更友好(三)”中,我要讨论使用扩展让普通CLR对象对IronPython更友好。可惜最近一直没有写出来。:)
欢迎继续关注。
Colin Han 2008-09-12 12:40
重新编辑一下HTML,把后面的文字从Code的Dev里面移出来就好了。
Colin Han 2008-09-11 13:14
你可以在InitializeEditingControl事件中根据其它Cell的选择情况为EditingControl动态修改Items。
Colin Han 2008-09-02 15:16
节日快乐 ;-) 把昨天的日子反过来看不就是节日了。
@怪怪
我自己的一个应用程序试图做成可插拔式,最后发现出问题的确实是出在怎么组织这些对象上。
但是,我不太理解这个和语言本身有什么关系?难道其他的语言可以做的更好?给一些例子吧。
Colin Han 2008-09-02 13:37
@letitbe
呵呵,我不了解Java,但是,我相信如果你真的接触多线程的话,任何语言都会让人头大的。
但是,据说纯函数式语言天生具有跨线程,可并发的优点。但是,没有尝试过。
Colin Han 2008-09-01 13:30
牢骚是要发的,工作还是要做的。祝孩子尽快康复。
很多时候,我们真的应该思考一下,什么是我们想要的?工作还是家庭?物质还是安全感?
呵呵,我是不知道我想要什么!继续思考中...
另,我也要有孩子了。希望他(她)会幸福。
Colin Han 2008-08-25 13:08
@yyww
谢谢,有时间我尝试一下。
Colin Han 2008-08-25 13:07
@young5335
呵呵,这个空行并不是因为print语句引起的。是因为我的TestCollection.ToString中使用了StringBuild.AppandLine()函数造成的。这个函数会在string的后面添加一个"\r\n"
而,我猜测IronPython使用Unix规范,使用"\n"表示换行。因此,print语句将"\r\n"识别为两个换行了。
另外,如果我使用"\n"作为换行,System.Windows.Forms.Label又不能正常显示(我使用Label来展示Collection的内容的),因此,为了简单起见,我就没有修复这个Bug了。:)
在IDE中使用IronPython,我没有尝试过。但是CodePlex上有一个开源的项目叫IronPython Studio的。基于VS Shell的独立版本。可以在其中开发WinForm应用程序。我不知道它是否有嵌入版本的。你可以到下面的地址看一看:
http://www.codeplex.com/IronPythonStudio
Colin Han 2008-08-21 13:04
@犇牛牛
呵呵,工作性质不同吧。
对于一些数据库操作比较多的大型项目,使用LINQ,匿名代理等新技术确实可以提高开发的效率。但是,对于一些逻辑上很复杂的项目(比如:MultiRow项目)。我就严格禁止使用这些那一理解的新技术。
Colin Han 2008-08-20 13:05
@犇牛牛
呵呵,String类型在.NET下是一个不变体,因此,对于String类型的对象一般不需要进行线程安全的检查。
关于不变体,可以参考这篇博客:
http://www.cnblogs.com/Jax/archive/2008/06/30/1224292.html
Colin Han 2008-08-18 14:54
@yyww
是啊,我也觉得很奇怪。微软的Design就是这样。奇怪,但是挺好用:)
Colin Han 2008-08-18 14:54
@巫云
不敢,我也在学习中。
Colin Han 2008-08-15 12:32
@123QWE
优势一: 和DataGridView相似的接口。你只要会用DataGridView,就会使用我们的MultiRow
优势二: Free Layout,从概念上来说,我们不是一个严格的Grid控件。更接近于Repeater. 你可以像设计一个WinForm一样设计Row
优势三: 如果你对Speard (Excel)编程比较熟悉,可能会比较容易理解我们的接口。相信大家对DevExpress的接口有点感觉吧
优势三: 非数据绑定的支持。你完全可以将MultiRow当作一个电子表格使用。很多时候,数据绑定实现某些功能比较复杂。
Colin Han 2008-08-14 14:20
看了不变模式,非常不错啊。
什么时候更新下面的模式啊。
Colin Han 2008-08-11 10:16
@james.dong
汗颜啊,这个是我两年前写的东西了。因为工作的需要,我已经转战其它战场了。对于WPF也已经非常生疏了。我找找看,也许我的同事有时间可以写一些 :)
如果可以,我给你发站内消息通知你。
谢谢你的关注。
Colin Han 2008-08-05 09:09
@AlexLiu
其实,写这些内容,主要是为了学习IronPython的源代码。但是,我并不确认我喜欢IronPython。
能说一说你为什么喜欢Python.
Colin Han 2008-08-03 15:41
DLR的AST上有一个Dump属性,可以将一个AST子树输出为一个字符串。用来了解AST的内容很有用。
没仔细看过,IronPython的AST有没有。
Colin Han 2008-07-31 13:37
呵呵,还真强大啊。只是不知道原理是什么?
Colin Han 2008-07-31 09:28
@U2U
是啊
Colin Han 2008-07-30 13:42
如果你想看汇编语言,你需要先使用Debug->Windows->Disassembly打开汇编窗口,这时候你就可以单步跟进去了。
如果上面的API是一个你自己的工程,你需要将工程添加到你的Solution中来。这样,才会有相应的PDB文件,从而可以进行单步跟入。似乎和你用的那个设置没有关系。
Colin Han 2008-07-29 14:03
@AlexLiu
呵呵,其实,我对于Python还是门外汉。正在学习。目前也是将这个系列的文章作为一个切入点。关于Python语言,正要啃《Python核心编程》。
Colin Han 2008-07-29 13:21
@AlexLiu
你的那个PM必备工具,如果用Python写,可能会很强大啊。动态语言无一例外的对字符串的处理很强大。:)
Colin Han 2008-07-29 13:07
哈哈,最近园子里面的蟒蛇很多啊。大家要小心安全啊。
Colin Han 2008-07-28 16:41
@Joshua Kwan
不知道你所说的Engine是指什么?PythonEngine?IronPython 1.x中可能有一个这样的东西。并且2.0中我也看到了。但是,我看它在2.0中的实现似乎并不很符合DLR的Hosting的设计思路。似乎仅仅是为了兼容以前的老用户而保留的。
DLR中,微软更推荐使用ScriptRuntime作为入口。我在上一篇文章中有一点提到这个。
Colin Han 2008-07-28 12:22
Colin Han 2008-07-28 09:36
@hxm
You are right, I will add a chapter to discuss how to make DLConsole to work with other dynamical language (IronRuby & JScript & Boo).
Colin Han 2008-07-26 14:41
据说纯函数式编程的一个最大的好处,是可以原生的支持网格计算。
只是听说,没有尝试过。
Colin Han 2008-07-21 13:34
文章开始讲环境的地方,有一段“>cd c:"ironpython"tutorial”
应该是"\"丢了。
Colin Han 2008-07-21 13:23
支持一下。但是,现在发布的似乎是2.0 Bata 3,而不是2.9 :)
Colin Han 2008-07-19 23:37
其实使用VSS的命令行,可以做的事情很多的。上面的功能也可以实现的。
Colin Han 2008-07-19 23:34
@wuyou
呵呵,我并没有太想过注册方法到运行环境。在第三章,我将会实现注册对象到脚本环境里面。到时候,我会一并研究如何注册一个方法进去。
在第四章中,我还会研究一些扩展机制,使得对象能够更好的被动态语言所使用。谢谢你的关注。
Colin Han 2008-07-19 23:31
一点非常小改进。因为牌确定有52张,使用数组的效率会更好一点。
另外, List<int> arrCard = new List<int>(52);也不错,可以减少内存分配。
呵呵,吹毛求疵~~
Colin Han 2008-07-19 23:24
呵呵,不错的样子,如果出书,我会买的。
Colin Han 2008-07-19 17:14
@wuyou
不知道你说的Lua.NET是什么东东,不过微软的DLR应该是对Unicode支持的很好的。中文应该也没有问题。
Colin Han 2008-07-18 09:33
非常期待啊!
我也正准备写一个系列的文章,讨论怎样将IronPython等动态语言嵌入到.NET程序中运行。
Colin Han 2008-07-18 09:09
继续关注事态的进展。很高兴事情在向良性的方向发展。Dudu不容易啊。我觉的中间很多东西都值得我们好好学习的。
Colin Han 2008-07-17 19:15
哈哈,刚刚发现,已经有小组了。看来我又后知后觉了。
Colin Han 2008-07-17 19:13
最近正好看到了《Python核心编程》(书名有点忘了)翻译团队也出现了类似的问题。看来,社区创作是大势所趋。我倒觉得Dudu于其承担所有责任来息事宁人,不如提供一个平台(例如:Space中开一个小组)让大家把这些问题开放透明的讨论透。只要大家不要把这些内容发布到首页上来。对博客园只会有利,不会有害。
不管怎样,博客园应该坚定的将这条路走下去。对于技术人员,书,永远是最重要的,博客园没有相关方面的发展,就不能够成为一个真正的技术人员发展的平台。
Colin Han 2008-07-17 19:00
CodePlex上有一个IronPython Studio的项目,可以用来进行简单的IronPython开发,有简单的智能感知功能。并且有WinForm的支持。但是,我不清楚最新的版本有没有WPF和Silverlight的支持。
Colin Han 2008-07-15 13:32
每个成功的网站背后都有一个女人?
Colin Han 2008-07-14 10:06
@young5335
Codeplex上有个开源的项目IronPython Studio,应该是你要的。
http://www.codeplex.com/IronPythonStudio
Colin Han 2008-07-14 10:05
@Jeffrey Zhao
谢谢
Colin Han 2008-06-26 18:51
看起来不支持FF3.
"Fulin Toolbar for Firefox." 将不会被安装,因为它未提供安全更新
Colin Han 2008-06-26 18:49
什么功能啊?支持Firefox3吗?
先下一个试试 :)