摘要: 首先,要知道一个重要的概念,没有官方的C++编译器,也没有官方的C++ STLPort。我们总认为官方的东西最可靠,C++的官方,也就是ISO委员会,没有发表过任何编译器和库的实体,官方只负责指定标准。定标准比实现要麻烦很多,我是这么认为的。也就是说,根本没有所谓的官方的C++编译器的STL的存在(我用了好多的“的”),所有的编译器和STL都是由厂商自己实现。目前最好的C++编译器应该就是gcc和intel C++了吧,而大家最为认可的STL库就是SGI了。不过SGI专门为UNIX实现,移植有些困难,所有就有了STLPort这个SGI的多编译器移植版。到现在为止,STLPort的最新版本是ST 阅读全文
posted @ 2011-04-20 11:05 pjh123 阅读(282) 评论(0) 推荐(0) 编辑
摘要: .本文将讨论委托和事件一些更为细节的问题,包括一些大家常问到的问题,以及事件访问器、异常处理、超时处理和异步方法调用等内容。 为什么要使用事件而不是委托变量?在 C#中的委托和事件 中,我提出了两个为什么在类型中使用事件向外部提供方法注册,而不是直接使用委托变量的原因。主要是从封装性和易用性上去考虑,但是还漏掉了一点,事件应该由事件发布者触发,而不应该由客户端(客户程序)来触发。这句话是什么意思呢?请看下面的范例:NOTE:注意这里术语的变化,当我们单独谈论事件,我们说发布者(publisher)、订阅者(subscriber)、客户端(client)。当我们讨论Observer模式,我们说主 阅读全文
posted @ 2011-04-20 09:56 pjh123 阅读(208) 评论(0) 推荐(0) 编辑
摘要: 1、服务器端服务程序启动后,建立服务器端通道;这个通道的名称是固定的。2、任何客户端(包括OCC、接收端),调用服务器端远程对象时,都先建立通道。 目前的做法是,每个调用都做,都是先建立通道、执行调用、注销通道。也就是说客户端不维持通道。那么就存在客户端同时需要建立两个通道的情况,TcpClientChannel 要求如果要注册多个信道,则每个信道都必须具有唯一的名称,即名称不能重复。 这是不是就是客户端不停的生成通道名称的原因? 现在不却确定的是,客户端为什么在应用程序的声明周期内,不维持一个通道?二、 一个通道可以建多个远程对象,但是注册时,必须指定不同的URI。如果用同一个URI注册,后 阅读全文
posted @ 2011-04-20 09:51 pjh123 阅读(414) 评论(0) 推荐(0) 编辑
摘要: 1、UserControl控件。 添加UserControl后,按照说法应该出现在ToolBox中,如果找不到,需要设置: 工具-》选项-》Windows窗体设计器-》常规-》工具箱-》AutoToolBoxPopulate 改为TRUE。 这种方法不会针对这个UserControl生成dll。 还有一种方法是,新建一个UserControl工程,这个工程会生成一个控件的dll,在引用工程的ToolBox中,右键->Choose Items 阅读全文
posted @ 2011-04-20 09:38 pjh123 阅读(4317) 评论(1) 推荐(1) 编辑