随笔 - 18  文章 - 0 评论 - 184 trackbacks - 0

最新评论

共4页: 1 2 3 4 下一页 
本人在做一个项目管理工具,想咨询下你关于sl的代码问题,求联系方式。
楼主还回复么,请教一下楼主“至于IPIHTMLDocument2,IPIHTMLDocument3只不过是COM版本而已”我使用IPIHTMLDocument2时正常,当想转化为IPIHTMLDocument3的时候总是出现很多的异常,System.NullReferenceException
可以提供源码不呢 最近要弄这个东西 420473615@qq.com
楼主你好: 不知道你能不能看到我的请教 我用的是windows7系统,一直开发C#程序,对VC++不怎么了解,我在生成tlb的时候卡住了 运行了一下命令 midl /D UNDER_CE "D:\Program Files\Windows Mobile 6 SDK\PocketPC\Include\Armv4i\webvw.idl" /I "D:\Program Files\Windows Mobile 6 SDK\PocketPC\Include\Armv4i\" out="D:\webvw.tlb" 出现了一下结果 Microsoft (R) 32b/64b MIDL Compiler Version 7.00.0555 Copyright (c) Microsoft Corporation. All rights reserved. Processing D:\Program Files\Windows Mobile 6 SDK\PocketPC\Include\Armv4i\webv dl 用于 80x86 的 Microsoft (R) 32 位 C/C++ 优化编译器 15.00.30729.01 版 版权所有(C) Microsoft Corporation。保留所有权利。 cl: 命令行 warning D9024 :无法识别的源文件类型“out=D:\webvw.tlb /D UNDER_CE -nologo D:\Program”,假定为对象文件 cl: 命令行 warning D9024 :无法识别的源文件类型“Files\Windows”,假定为对象文 cl: 命令行 warning D9024 :无法识别的源文件类型“Mobile”,假定为对象文件 cl: 命令行 warning D9024 :无法识别的源文件类型“6”,假定为对象文件 cl: 命令行 warning D9024 :无法识别的源文件类型“SDK\PocketPC\Include\Armv4i\w w.idl”,假定为对象文件 midl : command line error MIDL1003 : error returned by the C preprocessor (2) 请教下接下来我该怎么处理啊
非常好啊 但好像这个Activity没有属性设置?
做得非常好!
Re:Silverlight 版工作流设计器示例 _冻结_ 2011-07-06 11:01  
很不错,
Re:Silverlight 版工作流设计器示例 代维雅 2011-07-05 17:01  
好像微软有一个c/s的流程设计器。。 这东西一旦模块化,灵活度就不够。。。现实流程有时候有点变态。。
Re:Silverlight 版工作流设计器示例 sharping 2011-07-05 16:37  
@银光小子 开源问题:目前还没计划,因为好多程序要做,现阶段只实现绘图,和WWF集成后成熟了才会考虑这个事,更何况这个东西目前只是在项目里用,作为产品不论从代码质量和可用性上都可以说还很年轻。 1、目前的程序是完全支持 Template 的,想让节点变成什么样都可以 2、拐点(啥意思?没听明白) 3、一切的外观都是可以自定义的,和第1点一样,只要写Template就可以了 4、这个。。。目前没那么多精力啊,而且这样的序列图意义也不大。 目前最紧迫的还是布线算法,经常出现和边缘重合的线段,努力解决中~~
Re:Silverlight 版工作流设计器示例 银光小子 2011-07-05 15:57  
楼主 小弟佩服 期待早日成功... 更期盼.. 开源 还有 几个小建议 1:流程节点能否用小图标 2:流向线能否加入 拐点.. 比如回退工作流的时候就很需要 3:背景可考虑交替线或者合理的过渡色作为背景供客户选择 4:可以考虑加入序列图那样的感觉,将整个流程图分割成几个部门,每个流程节点出在不同的部门.... 这个在实际需求中常常出现。特别是给移动政府那群SB做东西的时候。 暂时就 这些 呵呵
Re:Silverlight 版工作流设计器示例 sharping 2011-07-05 15:18  
@BillGan 绕线是通过确定线段方向和矩形的边来预测相交,算法有点复杂,一两句说不清,而且我也想改进算法,目前这个经常会出现和边重合的线段,比起微软那个差太多了,至于矩形不重合就很简单了,直接调用 Rect的方法来判断是否相交就行了
Re:Silverlight 版工作流设计器示例 BillGan 2011-07-05 15:08  
你的元素重合的时候,松开鼠标后,元素不会重合上去,还有线条通过的时候,有元素当着,会自动绕过,可否讲讲思路。
Re:Silverlight 版工作流设计器示例 sharping 2011-07-05 14:32  
当前界面上的所有活动都设置为下面的连接点是 outbound 点,也就是说一个连线的 Source 只能是通过某个活动的 Bottom 接点出发,其他左、右、上的接点是用来作为 inbound 连接点的,因此拖拽左、右、上的接点不会产生连线。当然程序本身是支持任意接点作为 Source 的,CodePlex 上那个我看过了,那个界面很粗糙,客户不会接受的,这个是高仿VS2010设计器的。
Re:Silverlight 版工作流设计器示例 银光小子 2011-07-05 14:17  
建议楼主关注一下 Codeplex上的一个 工作流的开源项目
Re:Silverlight 版工作流设计器示例 麦舒 2011-07-05 14:03  
做得很不错。支持一下
Re:Silverlight 版工作流设计器示例 Treenew Lyn 2011-07-05 13:56  
有时候可以拖拽到线,有时候不行。界面很舒适
Re:Silverlight 版工作流设计器示例 Treenew Lyn 2011-07-05 13:55  
拖拽时没有连接线啊?
好文章,别人不知道,但对于我这个专搞win32.c#开发,突然有一天却被boss要求弄一个wince的嵌入式系统出来,本以为“同胞”兄弟没什么问题,怎想一看webbowser被BT的MS封装得严严实实,加之网上相关资源寥寥无几,这种情况下看到楼主的这篇强文,真是让人激动啊!!! 楼主好象很长时间没到这来了,不过还是有个问题想请教一二,还望赐教。 按楼主的思路都摸索得差不多了,在此感谢,目前IHTMLDocument模型是有了,但相比win32下的IHTMLDocument好像还是弱一些?比如(IHTMLTxtRange)htmlDocument.selection.createRange这种东西没有?真是杯具啊! 其实我要的功能很简单,只需要webbrowser有页内查找和表单数据的获取功能,根据楼主提供的方法(在此感谢),我想表单数据获取问题不大了,但页内查找功能却无从下手; 尝试用sendmessage解决(不知道这个思路是否可行?),但MSDN中只提到DTM_ISSELECTION、DTM_SELECTALL,却没有set find text之类的东西!!!还请楼主和诸位路过的兄弟提供思路。
@szwe 你可以用 BinaryReader.ReadUInt16 或者 ContentReader.ReadObject<ushort[]>
[quote]Yufei Huang: @szwe 不能用unsafe[/quote] 那做stream<-->ushort[]之类变换的时候只能用循环+BitConverter了么?
@szwe 不能用unsafe
收藏起来慢慢看。
[quote]徐少侠: [quote]toEverybody:GOOGLE意识到因托管代码在手机应用程序开发中很慢,以后改用C++开发了,微软是否也意识到了这点呢?[/quote] 微软一定早意识到这点了 不过经典的28法则告诉我们,大量的手机应用不会因为托管代码而产生性能问题 另外,XNA似乎最终是可以直接使用DrictX的。[/quote] 那应该能用unsafe参数吧?总不能用byte[]之类的吧,数据类型转换的时候太悲剧了。
楼主的文章很给力 个人感觉是给有相当基础的兄弟转行,快速切入使用的 呵呵 3D世界 数学、物理,越来越重要了。埋头复习中....
[quote]toEverybody:GOOGLE意识到因托管代码在手机应用程序开发中很慢,以后改用C++开发了,微软是否也意识到了这点呢?[/quote] 微软一定早意识到这点了 不过经典的28法则告诉我们,大量的手机应用不会因为托管代码而产生性能问题 另外,XNA似乎最终是可以直接使用DrictX的。
GOOGLE意识到因托管代码在手机应用程序开发中很慢,以后改用C++开发了,微软是否也意识到了这点呢?
Re:探讨一下Quartz.NET的源代码 一叶浮萍 2010-09-03 10:24  
Quartz.net是从java移植过来的,有很重的java气息,但job,trigger分离,以及作业状态存储的设计堪称经典。最近在研究,想把他结合企业库和线程管理,性能监视进行结合,ISchedulerFactory 在企业库中使用Unity将非常有用。
博主你好。 首先感谢你的回复。虽然你说过控件托管后的问题恕不回复。怎耐实在没有办法。所以再厚着脸皮问一下。呵呵 HtmlDocument我已经正确得到。是采用第三种方式得到的。而且也经过验证是正确的HtmlDocument.(访问其title) 我的问题是我想调用HTML里的脚本函数。代码如下: public void InvokeScript(string func) { if (this.Document == null) { return; } int dispid = 0; // Interop.stdole.DISPPAR stdole.DISPPARAMS dispParams = new DISPPARAMS(); stdole.EXCEPINFO excepinfo = new EXCEPINFO(); object obj = new object(); object obj2 = new object(); uint cnt = 0; try { this.Document.GetDispID(func, (uint)FDEX_TYPE.fdexNameImplicit, out dispid); this.Document.RemoteInvokeEx( dispid, LOCALE_SYSTEM_DEFAULT, (uint)DP_MODE.DISPATCH_METHOD, ref dispParams, out obj, out excepinfo, null, 0, ref cnt, ref obj2); } catch (Exception ex) { MessageBox.Show(ex.Message); } } Remark: 参数问题我还没设。 我在GetDispID这个函数始终出错。错误代码为Error Code 0x80020006。Message为"Unknown name"
@shinbo 1、NativeHandle get方法就是就是对m_hwnd 的封装。 2、你的代码只是片段,我没看懂 3、应该是可行的,带要看Handle返回的是否是子窗体(这里指Win32窗体)的句柄,如果是控件本身句柄你可能无法实现。一般来说微软返回的应该是Win32句柄,所以应该可以实现,但是不推荐这样做,因为原生控件的消息处理对你是个黑盒子,既然是自己托管,那消息也应该由你做主。 BTW:请多参看HTMLVIEW文档并参考SDK C++头文件定义,这个控件的托管是非常简单的,本文讨论是的HtmlDocument对象的获取,并不是控件托管专题,之后的问题恕不回复,Sorry.
你好,谢谢你这篇文章。有如下问题。望不吝指教 1: var intprt = Win32Window.SendMessage(this.NativeHandle, (int)(1024 + 123), 0, ref buffer); 此句话中的this.NativeHandle指的就是this.m_hwnd? 如果不是又是指哪个? 2:我尝试自已实现Navigate,但好像不行。 public void Navigate(string url) { //allocate temporary native buffer IntPtr stringptr = MarshalEx.StringToHGlobalUni(url + '\0'); //send message to native control SendMessage(this.m_hwnd, 1024 + 120, 0, ref stringptr); //free native memory MarshalEx.FreeHGlobal(stringptr); } 3:如果直接从WebBrowser继承。然后发消息(SendMessage)到这个WebBrowser.handle来得到IPIEHTMLDocument3是否可行呢。 谢谢,盼复!
Re:Mobile WCF Bug??? sharping 2010-07-16 00:37  
@Galactica 我理解的是在W3C定义的 SOAP 架构中,对 nillable 属性的这两种写法只是表现形式不同而已,他们的含义是相同的,解析时不应产生二义性,不知道兄台有何高见,望赐教。
Re:Mobile WCF Bug??? Galactica 2010-07-15 16:05  
<xsd:element name="UserName" type="xsd:string" nillable="true" /> <UserName xsi:nil="true"></UserName>和<UserName xsi:nil="true" />只是表现形式不同吗?
Re:宿主工作流设计器(四) sharping 2009-12-08 09:43  
貌似是的,呵呵~
Re:宿主工作流设计器(四) yux 2009-12-02 13:58  
>> 我有一点点疑惑,活动Desinger类中的ShowInfoTip无论怎么样也不工作,而工作流中的TooTip无论怎样也屏蔽不了,不知谁解决了这个问题麻烦告知一声。 我最近正好在写workflow designer有关的代码:也用到了tooltip。 发现必须要把OnMouseMove和OnMouseHover重载以后,ShowInfoTip才工作。 protected override void OnMouseEnter(MouseEventArgs e) { CustomActivity customActivity = this.Activity as CustomActivity; string title = "Activity Information"; string text = string.Empty; if (customActivity != null) { title = customActivity.InfoTipTitle; text = customActivity.InfoTipText; } this.ShowInfoTip( title, text ); } protected override void OnMouseMove(MouseEventArgs e) { // do nothing here to avoid the default tooltip to appear } protected override void OnMouseHover(MouseEventArgs e) { // do nothing here to avoid the default tooltip to appear }
写得真好,有两个问题请教一下: 第一: var intprt = Win32Window.SendMessage(this.NativeHandle, (int)(1024 + 123), 0, ref buffer); 中的var是哪个命名空间的 第二 WebBrowserEx这个类,在析构时需要做哪些工作,谢谢!
大哥,怎么样让这个控件可以像WB一样可以通过URI加载网页?谢谢
Re:.NET控件ZedGraph使用帮助 驢騎士 2009-09-01 16:01  
怎么让Y2Axis和YAxis的刻度不一样啊?比如我YAxis是数量刻度,儿Y2Axis是增长比例刻度。
您好,我看您这篇文章受益匪浅,现在大多数问题都搞明白了,还有些没搞明白,希望您给指点一二。 public IPIEHTMLDocument3 HtmlDocument { get { IntPtr buffer = IntPtr.Zero; var intprt = Win32Window.SendMessage(this.NativeHandle, (int)(1024 + 123), 0, ref buffer); return Marshal.GetObjectForIUnknown(buffer) as HtmlViewExport.IPIEHTMLDocument3; } } 当这个函数返回COM接口对象后,用它调用Document的属性, 我刚开始试着这样 IPIEHTMLDocument2 doc = HtmlDocument; 然后同 doc调用,可是我发现找不到Document属性,很是郁闷,在网上查了半天资料,但是还是没有找出解决的办法,希望您能帮帮我。
您好,您说的例如DocumentText您也可以通过Send一个AddText消息实现。我不太理解,应该怎样实现啊?我怎么写都不对。希望你能给我说一下。我的思路是这样的,调用SendMessage来实现,可是就是做不出来。
Re:做CF开发的朋友注意这个BUG了 C#菜菜 2009-08-19 10:11  
我的e文太差,看了之后有点明白,但是还不知道该怎样做,请高手不吝赐教。
@C#菜菜 Win32Window的这个方法是封装Win32函数的,我不是已经给出你封装的原型了吗. [DllImport("coredll.dll", SetLastError = true)] public static extern IntPtr SendMessage(IntPtr hWnd, int msg, int wParam, ref IntPtr lParam);
您好!在这篇文章中实现的是通过C#程序访问javascipt代码。请问能否实现javascript调用windows.external访问C#的代码?
您好,冒昧的再次打扰,前边三个问题我现在已经完全解决,现在唯一的问题就是 var intprt = Win32Window.SendMessage(this.NativeHandle, (int)(1024 + 123), 0, ref buffer);这句代码有点问题 在编译的时候出现“上下文中不存在名称'win32Window'”这个错误,我也查阅了一下MSDN,说是什么宿主和本机通讯之类的,我还是有点搞不懂,希望您不吝赐教。
实在不好意思,又得打搅您,我现在基本上就按您的步骤来做,可是我实在太菜了,总有好多问题,上边的两个问题我现在都已经解决了,归纳一下就是因为我太粗心,没有用心去思考,还有就是欠缺经验,还有就是基础知识太差,得好好的补下基础了,我现在在用您的这个 public IPIEHTMLDocument3 HtmlDocument { get { IntPtr buffer = IntPtr.Zero; var intprt = Win32Window.SendMessage(this.NativeHandle, (int)(1024 + 123), 0, ref buffer); return Marshal.GetObjectForIUnknown(buffer) as HtmlViewExport.IPIEHTMLDocument3; } } 函数时候提示错误,说找不到类型或者命名空间名称,缺少using指令或者程序集的引用,这个又是什么原因呢?是不是我要在我的程序里边加上一个using指令?但是我现在不知用IPIEHTMLDocument3 时候我需要加那个using指令,还是直接从那个接口继承过来!还希望您不嫌麻烦,给我指点一二。
您好,上边那个问题我已经解决,不好意思,呵呵,现在我又出现一个新问题了,就是生成webwv.idl后我再在命令行输入 tlbimp webwv.tbl /out:webwv.dll这句命令时候,怎么又出现错误,器具体错误如下 C:\Program Files\Windows Mobile 5.0 SDK R2\PocketPC\Include\Armv4i>tlbimp webwv.tbl /out:webvw.dll Microsoft (R) .NET Framework Type Library to Assembly Converter 3.5.21022.8 Copyright (C) Microsoft Corporation. All rights reserved. TlbImp : error TI0000 : Unable to locate input type library: 'webwv.tbl' 请问这个错误是什么原因造成的,(我以前没用过命令行这种方法,还希望您能给我指点一下)
您好,我再尝试用midl得到结果时候,老是出现这个问题,您能帮我看看我的问题出在那吗? 下边是我输入的命令行和出现的错误 Setting environment for using Microsoft Visual Studio 2008 x86 tools. C:\Program Files\Microsoft Visual Studio 9.0\VC>midl /D UNDER_CE "C:\Program Fil es\Windows Mobile 5.0 SDK R2\PocketPC\Include\Armv4i\objidl.idl" /I "C:\Program Files\Windows Mobile 5.0 SDK R2\PocketPC\Include\Armv4i\objidl.idl" /out "D:\obj idl.tlb" Microsoft (R) 32b/64b MIDL Compiler Version 7.00.0500 Copyright (c) Microsoft Corporation 1991-2006. All rights reserved. Processing C:\Program Files\Windows Mobile 5.0 SDK R2\PocketPC\Include\Armv4i\ob jidl.idl objidl.idl Processing C:\Program Files\\Microsoft SDKs\Windows\v6.0A\include\unknwn.idl unknwn.idl Processing C:\Program Files\\Microsoft SDKs\Windows\v6.0A\include\wtypes.idl wtypes.idl Processing C:\Program Files\\Microsoft SDKs\Windows\v6.0A\include\basetsd.h basetsd.h Processing C:\Program Files\\Microsoft SDKs\Windows\v6.0A\include\guiddef.h guiddef.h C:\Program Files\Windows Mobile 5.0 SDK R2\PocketPC\Include\Armv4i\objidl.idl(36 5) : error MIDL2025 : syntax error : expecting a type specification near "COSERV ERINFO" C:\Program Files\Windows Mobile 5.0 SDK R2\PocketPC\Include\Armv4i\objidl.idl(36 5) : error MIDL2026 : cannot recover from earlier syntax errors; aborting compil ation C:\Program Files\Microsoft Visual Studio 9.0\VC> 希望能得到您的帮助,不胜感激,还有,能不能告诉我您的邮箱,以后可以好请教您问题!!!呵呵呵,我是不是太贪了?
Re:老调新弹,也玩Linq To Sql批操作 李子哥哥 2009-07-30 21:15  
强,早看到你的文章,我何必去瞎折腾呢
@ sharping
多谢楼主的回复,并指出我的缺点:)
re: 老调新弹,也玩Linq To Sql批操作 sharping 2009-07-02 14:18  
@大洋
不太明白您的意思。。。您可能习惯了拼接SQL语句了,我觉得您这个问题是因为您本身的程序写的就有问题,这个本身就是底层的实现,为的是通用性,上层应用你要自己去实现,比如你这种问题其实简单重构一下您的方法就能做到:
void UpdateOrder(Order order)
{
.............................
if(uploaded)
{
order.Number = 'TTT';
}
Expression<Func<TEntity, TEntity>> evaluator
= new Orders() { Prices=order.Prices, Number = Order.Number .......省略其他属性 });

context.Orders.Update(o => o.OrderId == 123, evaluator);
...............................
}
恕我冒昧, 你Coding基础还有待加强,if(uploaded==true)这种写法就透露了您的编程风格。。。
谢谢提供这个好方法,不过这样的话,更新的数据只能写成 o => new Orders() { Number = "TTT" }的形式,而很多时候的需求是,某个字段更不更新是根据条件的,比如,用户上传了文件才更新Number="TTT",不上传则不更新,这里就不好写了,难道要这样:
if(uploaded==true)
context.Orders.Update(o => o.OrderId == 123,o => new Orders() { Prices=2.0, Number = "TTT" });
else
context.Orders.Update(o => o.OrderId == 123,o => new Orders() { Prices=2.0 });

如果有很多字段,那就要重复写很多,如果有很多条件,写的就更多了
能不能
context.Orders.Update(o => o.OrderId == 123,o => entity);
这里entity是负好值的实体了?

共4页: 1 2 3 4 下一页