上一页 1 ··· 176 177 178 179 180 181 182 183 184 ··· 196 下一页
摘要: 计算机发展的初期,不论硬件、软件,都出于个人的意向,其功能完全根据发展者自我的认知而定。 现在,计算机软、硬件的技术迅速成长,社会上对它的要求越来越高,尤其是软件的复杂程度,已非任何一个个人能够掌握。于是,个人英雄主义消逝了,集体合作、功能强大的各种软件纷纷出笼,计算机的应用普及到社会上各行各业。人的愿望是永远无法满足的,随着技术的日新月异,使用者开始期待着一种万能软件,能一举解决他们所有的需求。然而,计算机虽然是一种商品,其涉及的技术层次甚高,只有少数专家洞悉其中奥秘。更进一步,我们把这个整合软件的各个模块,继续发展成为"整合系统模块",提供给各系统、软件公司,作第二次开 阅读全文
posted @ 2008-09-25 16:02 delphi中间件 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 模块定义 1,空间小、结构完整,能独立调用的程序。模块不能太大,否则无法灵活应用,程序的结构又必须独立且完整,以便于分解、组合,供二次开发的程序自由调用。有些模块需要与公用模块配合使用,由于公用模块为全部模块设计的基础,故仍可视为独立调用。2,效率高、弹性大,便于其它程序调用者。二次开发的程序系建立在模块结构上,如果模块的效率不佳,必然会影响其操作。同时,各种应用程序都有特殊的需求和条件,而模块则要考虑通用性,否则很难符合各种条件。所以,在设计模块时,要考虑应用的弹性,使之既能适应各种需求,又能达成特殊的任务。3,功能明确,其变化以参数设定实现。功能不明确,将会令应用者困惑,也就达不到预期的目 阅读全文
posted @ 2008-09-25 15:30 delphi中间件 阅读(292) 评论(0) 推荐(0) 编辑
摘要: 分布式数据库系统已 不为大家陌生。上述方案中描述了一个典型的分布式数据库系统,主要由几个部分组成: 数据中心、远程数据库、远程数据库与数据中心之间的数据交换。 从运行状态来看,分布式数据库系统又可分为“常连接”和“偶连接”两大类。顾名思义,“常连接”状态下的分布式数据库系统是指数据中心与远程数据库长期保持连通状态的部署环境。一般来说,这种系统对数据的实时性要求高,需要在实时或者近乎实时(比如秒级)的条件下保持数据中心与远程数据库的数据一致性。例如,全国铁路客票系统采用的多级分布式数据库系统中各远程数据库与数据中心的数据之间就需要实现接近实时的数据复制。 本方案中提到的是“偶连接”环境下的分布式 阅读全文
posted @ 2008-09-25 12:53 delphi中间件 阅读(403) 评论(0) 推荐(0) 编辑
摘要: sql server与oracle数据同步方案说到同步,其实是靠"作业"定时调度存储过程来操作数据,增,删,改,全在里面,结合触发器,游标来实现,关于作业调度,我使用了5秒运行一次来实行"秒级作业",这样基本就算比较快的"同步"我做的是sql server往oracle端同步,先在sql server上建立往oracle端的链接服务器,我用一个视图"封装"了一下链接服务器下的一张表create view v_ora_PUBLISHLASTRECasselect * from ORACLEDB..ROADSMS.PU 阅读全文
posted @ 2008-09-25 12:37 delphi中间件 阅读(423) 评论(0) 推荐(0) 编辑
摘要: 使用TwinSocketStream 当为一个blocking连接实现一个线程时,你必须确定在连接的另一端的socket是准备写还是读.Blocking连接不会通知socket当它准备好写或读操作的时候.想看看连接是否准备好,使用TWinSocketStream对象.TWinSocketStream提供一个方法去帮助调整读或写操作时间的选择.调用WaitForData方法去等待,直到socket另一端的准备好写操作.当读写操作使用TWinSocketStream时,如果读或写操作在指定的时间期限内未能完成,Stream将发生超时.这个超时被当作一个结果,socket应用不会暂停,而是不断的通过 阅读全文
posted @ 2008-09-24 10:52 delphi中间件 阅读(919) 评论(0) 推荐(0) 编辑
摘要: Blocking connections 当你使用的连接是Blocking时,你的Socket必须通过连接发起读或写操作,胜过被动的等待从socket连接发来的通知. 当你的连接末端的读和写操作发生改变时使用Blocking socket.对于客户端sockets,设置ClientType属性为ctBlocking 以便构成一个blocing connection.根据你的客户端应用想完成什么,你可能想建立一个执行线程去完成读或写操作,以便你的应用能够继续执行其他的线程,当它在等待通过连接读或写操作的完成. 对于服务器sockets,设置ServerType属性为stThreadBl... 阅读全文
posted @ 2008-09-24 10:45 delphi中间件 阅读(417) 评论(0) 推荐(0) 编辑
摘要: Non-blocking连接,读和写是异步的, 所以在你的网络应用中不需要阻塞其他代码的执行.建立一个Non-blocking连接: 1.在客户socket中设置ClientType属性为ctNonBlocking. 2.在服务器socket中设置ServerType属性为stNonBlocking. 读和写操作事件 sockets想通过连接读或写时,它会产生一个读和写操作事件通知你的socket.在客户端sockets,你可以在OnRead或OnWrite事件句柄中对这些事件做出反应.在服务器端Scokets,可以在OnClientRead或OnClientWrite事件句柄中对这些... 阅读全文
posted @ 2008-09-24 10:39 delphi中间件 阅读(541) 评论(0) 推荐(0) 编辑
摘要: 1引言Windows Sockets规范以U.C. Berkeley大学BSD UNIX中流行的Socket接口为范例定义了一套Microsoft Windows下网络编程接口。它不仅包含了人们所熟悉的Berkeley Socket风格的库函数;也包含了一组针对Windows的扩展库函数,以使程序员能充分地利用Windows消息驱动机制进行编程。Windows Sockets 规范本意在于提供给应用程序开发者一套简单的API,并让各家网络软件供应商共同遵守。此外,在一个特定版本Windows的基础上,Windows Sockets 也定义了一个二进制接口(ABI),以此来保证应用Windows 阅读全文
posted @ 2008-09-20 09:38 delphi中间件 阅读(369) 评论(0) 推荐(0) 编辑
摘要: procedure CreateVarArrayFromDataset(var varResultSet: OleVariant; ADataset : TDataset); var m : Integer; nRecords, nColumns, nCurRec : Integer; begin nRecords := -1; nColumns := -1; try { Create the array... } { Set size to 0..m-1 where m equals the number of columns. } nColumns := Max(0, A... 阅读全文
posted @ 2008-09-19 15:39 delphi中间件 阅读(217) 评论(0) 推荐(0) 编辑
摘要: DELPHI能够兼容COM的数据类型,反之,则不成立。在此举个简单的例子://DELPHIprocedure Tyn.save2(data: olevariant; out errcount: integer);begin dspunit.ApplyUpdates(data, 0, errcount);end;//COMprocedure Tyn.save(data: OleVariant; out errCount: SYSINT);begin save2(data, errcount);end;这个例子的价值:把以前的两层向多层移植的话,可以保留原来的业务类。但数据类型无疑要进行转换。 阅读全文
posted @ 2008-09-19 10:31 delphi中间件 阅读(271) 评论(0) 推荐(0) 编辑
上一页 1 ··· 176 177 178 179 180 181 182 183 184 ··· 196 下一页