摘要: 今天上班时与同事讨论系统功能的连贯性,我说用户现在对我们的系统诟病最多的就是功能很全,但都找不到,无法在有限的页面中将业务串联起来。同事反驳我说,我们不是做大众软件,是做专业化软件,用户应该经过培训适应我们的风格。我答,如果我们这样回复用户,估计以后上班就只能好好坐着看书了,什么活也接不到了。 ... 阅读全文
posted @ 2015-05-23 21:24 三夏健 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 调用ODAC报BadImageException异常的解决方法一般造成这种问题都是由于在64位操作系统下调用了32位的Oracle.DataAccess.dll导致的,网上的通用解决方法大多集中在解决ASP.NET的问题,在IIS中设置兼容32位的应用程序既可解决此问题。但是如果是Winform或者Console程序调用ODAC报出这个错误应该怎么解决?经过反复的验证,我发现必须将项目属性的“生成”中的目标平台设置为“X86”,如下图所示:重新生成项目既可解决此问题。选择Any CPU等等选型通通无用。解决完此问题后,发现做IT软件行业碰到的问题真的就像一层窗户纸,捅破了觉得很简单,没捅破前把 阅读全文
posted @ 2013-06-15 10:16 三夏健 阅读(405) 评论(0) 推荐(0) 编辑
摘要: 带有Wallet的impdp导入过程今天接到一个任务,要求还原由Expdp方式导出的dmp包。环境:源ORACLE版本:ORACLE 10G R2,目标ORACLE版本 :11g R2。源操作系统 :Windows 2003 Server SP2,目标操作系统:SUSE 11.1。步骤如下:1、创建ORACLE DIRECTORY。使用root用户登录SUSE系统,建立目录/u01/oradir,作为DIRECTORY的物理目录。同时授予ORACLE用户访问此目录的权限 chown 777 oracle /u01/oradir。切换至ORACLE 用户,用system账户登录ORACLE,创建 阅读全文
posted @ 2013-01-07 20:05 三夏健 阅读(1225) 评论(0) 推荐(0) 编辑
摘要: 使用ICE建立C++与C#的通讯 ICE的优势是作为通讯中间件可支持跨平台的通讯,目前支持C++、C#、JAVA、Python、Ruby等多种语言。下面通过一个示例,描述怎样通过ICE建立C++与C#之间的通讯。一 示例描述 搭建一个简单的聊天室,服务端使用C++实现,客户端使用C#实现,中间以ICE构建通讯通道。聊天室实现的功能包括:用户登录/注销、发送消息、接受消息。二 准备Slice文件 Slice作为ICE本身特有的语言,成为跨平台通讯的桥梁。通过Slice文件描述需要实现的接口,再由ICE提供的各个语言编译器生成各语言的接口类,各语言分别负责根据接口类实现属于本身的逻辑细节即可,据说 阅读全文
posted @ 2012-08-21 17:43 三夏健 阅读(3987) 评论(0) 推荐(1) 编辑
摘要: DevExpress学习笔记如何获取Repository Item的值 上一章我们看到了如何在TreeList的单元格中动态绑定不同的控件,此类控件被称为In_Place Control。所谓“In_Place”,我的理解为“内置”控件,既然有“内”就相对的会有“外”,其实内和外最简单的理解就是“内置”控件是绑定到如GridControl,TreeList等控件单元格上的控件,“外置”控件是直接拖到Form上的控件。 如果单单只是放置的位置不同,其它没有任何区别的话,就不会有这一章节了。以ComboBoxEdit为例,要获取这个DropDownList控件的值,“外置”的方式相当方便,如下所示 阅读全文
posted @ 2012-08-20 16:02 三夏健 阅读(4740) 评论(8) 推荐(2) 编辑
摘要: DevExpress学习笔记Edit树节点的列所谓Edit树节点的列,有如下两层含义:(1)根据某标识决定节点的某列Cell的形式,例如Cell可选择为时间控件,DropDownList控件等等;(2)与第一点类似,但是需要在运行时才动态决定Cell的类型,例如鼠标单击某Cell的时候,决定此Cell为哪种控件。因此将这两种类型概括为“静态Edit”和“动态Edit”。一 静态Edit静态Edit在DevExpress的官方示例中有一个很棒的示例,Demo运行的效果图如下:分析此Demo的源码,首先看下初始化数据部分,函数为InitData:View Code //这个函数构造了一个包含11元 阅读全文
posted @ 2012-08-14 09:31 三夏健 阅读(2687) 评论(2) 推荐(3) 编辑
摘要: DevExpress学习笔记以拖拽的方式构建树(TreeList)本人最近在做某个项目中需要用到动态设置TreeList节点的技术,在这个过程中对于TreeList的各项功能有了初步的尝试,准备分几篇内容将其记录下来。这一篇主要记录TreeList的拖拽功能。一 ImageListBoxControl 至 TreeList在Visual Studio新建一个Form,并且将ImageListBoxControl和TreeList两个控件分别拖到这个Form上,设置相关属性.涉及到拖拽必然会有源控件和目标控件,需要设置目标控件的AllowDrop属性为True,在此处就需要设置TreeList的 阅读全文
posted @ 2012-08-12 15:42 三夏健 阅读(4072) 评论(2) 推荐(0) 编辑
摘要: 在C++编程中常常会需要测试某段代码的执行时间,来判断是否有性能上的问题。使用传统的 C中的测试时间方法较为费事,第三方 POCO开源库中有相应的类可解决此问题。首先需要安装POCO库,具体过程省略。使用方法如下:(1)在头文件中包含POCO/Stopwatch.h头文件。(2)在需要测试的代码之前声明StopWatch类,并启动计时器。Stopwatch stopWatch;stopWatch.start();(3)在需要测试的代码后面加上测试流逝时间的代码(以start为计时起点)。stopWatch.elapsed(),表示流逝的微妙(百万分之一秒)。stopWatch. elapse. 阅读全文
posted @ 2012-07-19 09:50 三夏健 阅读(1009) 评论(0) 推荐(0) 编辑
摘要: DevExpress学习笔记XtraGrid-个人较为感兴趣的效果一 显示行号在列表中每一行的前面显示当前的行号。在GridView的属性中找到 OptionsView->ShowIndicator,设置此属性为true。添加GridView 的 CustomDrawRowIndicator事件,代码如下: 1 private void bandedGridView1_CustomDrawRowIndicator(object sender, DevExpress.XtraGrid.Views.Grid.RowIndicatorCustomDrawEventArgs e) 2 3 ... 阅读全文
posted @ 2011-12-28 09:10 三夏健 阅读(4427) 评论(5) 推荐(2) 编辑
摘要: DevExpress学习笔记XtraGrid-数据绑定XtraGrid控件可以说是开发系统时使用的频率最多的控件,网上也有好多人对于此控件的用法津津乐道,受关注的程度远非其它的控件可比。DevExpress控件中专门针对与XtraGrid也开发了多种不同类型的视图控件,比如网格视图(Grid View)、 布局视图(Layout View)、 带区网格视图(Banded Grid View)、 高级带区网格视图(Advanced Banded Grid View) 或 卡片视图(Card View),甚至还可以自定义视图。今天准备先从最简单GridView入手,先看一下怎样实现数据绑定至Gri 阅读全文
posted @ 2011-12-26 09:53 三夏健 阅读(3814) 评论(0) 推荐(2) 编辑