`
youthon
  • 浏览: 17616 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论
文章列表
以前好多次遇到了activex无法调试的问题,一直没搞清楚原因,最近终于从同事那知道了,原来是IE由单线程变成了多线程。 下面就说说调试activex的方法 一、简单的方式,这种方式只适用于浏览器为单线程的情况: 在delphi的run菜单里的parameter里设置host application和parameter就可以调试了 二、另一种方式,能够调试IE8这样的多进程浏览器: 1 打开要调试的网页 2 使用run菜单里的attacch to process,选择IE的主进程,如果不确定哪个是主进程就attach两个IE进程。 其实也可以先用第一种方式,这样方便打开网页 ...
熟悉面向对象编程和网络编程的人一定对ActiveX、OLE和COM/DCOM这些概念不会陌生,但是它们之间究竟是什么样的关系,对许多们还是比较模糊的。 在具体介绍它们的关系之间,我们还是先明确组件(Component)和对象(Object)之 ...
第一、什么是C/S结构。 C/S(Client/Server)结构,即大家熟知的客户机和服务器结构。它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。目前大多数应用软件系 统都是Client/Server形式的两层结构,由于现在的软件应用系统正在向分布式的Web应用发展,Web和Client/Server应用都可以进行同样的业务处理,应用不同的模块共享逻辑组件;因此,内部的和外部的用户都可以访问新的和现有的应用系统,通过现有应用系统中的逻辑可以扩展出新的应用系统。这也就是目前应用系统的发展方向。 传统的C ...
不得不说的就是规范性的东西,我认为规范是个很重要的东西,当然,规范不只是说大家统一用某种形式命名变量,方法等等,这只是对程序员而言的规范,如果这个划做横向规范的话,那么纵向规范就是面对客户的规范。对程 ...
找了几个,终于找到一个好用的 function GetDLLFileExports( szFileName: PChar; mStrings: TStrings ): Boolean; var hFile: THANDLE; hFileMapping: THANDLE; lpFileBase: Pointer; pImg_DOS_Header: PImageDosHeader; pImg_NT_Header: PImageNtHeaders; pImg_Export_Dir: PImageExportDirectory; ppdwNames: ^PDWO ...
组合模式 一、引子 在大学的数据结构这门课上,树是最重要的章节之一。还记得树是怎么定义的吗?树(Tree)是n(n≥0)个结点的有限集T,T 为空时称为空树,否则它满足如下两个条件: 1) 有且仅有一个特定的称为根(Root)的结点 ...
本文介绍设计模式中的桥接(Bridge)模式的概念,用法,以及实际应用中怎么样使用桥接模式进行开发。 Bridge模式的概念 Bridge 模式是构造型的设计模式之一。Bridge模式基于类的最小设计原则,通过使用封装,聚合以及继承等行为来让不同的类承担不同的责任。它的主要特点是把抽象(abstraction)与行为实现(implementation)分离开来,从而可以保持各部分的独立性以及应对它们的功能扩展。 Bridge模式的应用场景 面向对象的程序设计(OOP)里有类继承(子类继承父类)的概念,如果一个类或接口有多个具体实现子类,如果这些子类具有以下特性: - 存在相对并列的子类 ...
学习的过程中发现这两个概念真的是有点区分不开,尽管可以很感性的说bridge模式要比strategy模式更复杂更具可塑性,更“高级”,但是如何清晰阐述两者区别,却实是有点困难。 套用伟人的一句话,站在巨人的肩膀上看得更远,下边三段分别来自CSDN论坛的贴子和一篇blogjava的文章,看了之后令我茅塞顿开,为表尊重不在冗述,直接贴原文了。 实际上所有模式可以只分为类模式和对象模式两种,类模式是用继承而对象模式是用委托Bridge模式和Strategy模式相似就是因为他们都将任务委托给了另外一个接口的具体实现,他们之间的区别在于Bridge的目的是让底层实现和上层接口可以分别演化,从而提高移 ...
最近参考MoreWindows的博客学习了一下快速排序,感觉写得太好了,转一下 原文地址:http://blog.csdn.net/morewindows/article/details/6684558 ========================== 快速排序由于排序效率在同为O(N*logN)的几种排序方法中效率较高,因此经常被采用,再加上快速排序思想----分治法也确实实用,因此很多软件公司的笔试面试,包括像腾讯,微软等知名IT公司都喜欢考这个,还有大大小的程序方面的考试如软考,考研中也常常出现快速排序的身影。 总的说来,要直接默写出快速排序还是有一定难度的,因为本人就自己的理 ...
Log4Delphi是一个开放源码项目,旨在制作用于Borland的Delphi高质量实用的日志套件,是基于Apache Software Foundation的log4j包。 安装: 1.从http://sourceforge.net/projects/log4delphi/files/下载0.8版本,解压到文件夹。打开文件夹"...\log4delphi-0.8",新建一个文件夹"build"; 2.运行Delphi 7,打开组件包"log4delphi_D7_PROF.dpk",位于"...\log4d ...
模板方法(Template Method)模式 模板方法模式是类的行为模式。准备一个抽象类,将部分逻辑以具体方法以及具体构造子的形式实现,然后声明一些抽象方法来迫使子类 实现剩余的逻辑。不同的子类可以以不同的方式实现这些抽象方法,从而对剩余的逻辑有不同的实现。这就是模板方法模式的用意 一、涉及到的角色 抽象模板角色有如下责任: 1、定义了一个或多个抽象操作,以便让子类实现。这些抽象操作叫做基本操作,它们是一个顶极逻辑的组成步骤。 2、定义并实现了一个模板方法。这个模板方法一般是一个具体方法,它给出了一个顶极逻辑的骨架,而逻辑的组成 步骤在相应的抽象操作中,推迟到子类实现。顶极逻 ...
命令模式(Command Pattern): 命令模式属于对象的行为模式。命令模式又称为行动模式或交易模式。 命令模式把一个请求或者操作封装到一个对象中。命令模式允许系统使用不同的请求把客户端参数化,对请求排队或者记录请求日志,可以提供命令 的撤销和恢复功能。 命令模式是对命令的封装。命令模式把发出命令的责任和执行命令的责任分割开,委派给不同的对象。每一个命令都是一个操作: 请求的一方发出请求要求执行一个操作;接受的一方收到请求,并执行操作。命令模式允许请求的一方和接收的一方独立开来,使得请求的一方不必 知道接收请求的一方的接口,更不必知道请求是怎么被接收,以及操作是否被执行、何时被 ...
前一阵实现了word转换为图片的功能,研究了可行的方式,整理了一下。有不完整的地方还请大家补充。:) 1 利用word的复制到剪切板,格式为图片 选中每一页,使用word的页面操作函数等方式,选中每一页,调用copytoclipboard方法复制到剪切板,其中就有图片格式,粘贴为图片即可。 优点:实现方式简单,效率高; 缺点:在调用此功能时,用户及其他程序不能使用剪切板。 2 使用虚拟打印机,打印为图片 使用office提供的虚拟打印机可以将word打印成png格式的图片,再进行格式转换即可。 优点:步骤少,速度比较快。 缺点:需要安装打印机;打印功能相对复杂;与剪切 ...
单元格设置 1.设置单元格线框 Excel.ActiveSheet.Range[B10:C13].Borders[N].LineStyle := xlNone Excel.ActiveSheet.Range[B10:C13].Borders[N].Weight := xlThin 边框的类型 Borders[N] xlEdgeLeft 左=1 xlEdgeRight 右=2 xlEdgeTop 顶=3 xlEdgeBottom 底=4 xlDiagonalUp 左上右下=5 xlDiagonalDown 左下右上=6 xlEdgeLeft 外部左边框=7 xlEdgeTo ...
原文地址:http://www.iteye.com/topic/503075 状态(State Pattern)模式:又称为状态对象模式,状态模式是对象的行为模式 状态模式允许一个对象在其内部状态改变的时候改变其行为,这个对象看上去就像是改变了它的类一样。 模式所 ...
Global site tag (gtag.js) - Google Analytics