摘要:
MSSQL的存储过程返回数据集好简单,直接SELECT 就可以。ORACLE的存储过程返回数据集必须通过游标。创建ORACLE存储过程create or replace procedure cxg_test(out_var out sys_refcursor) is begin open out_v... 阅读全文
摘要:
购买了咏南多层开发框架的老用户如有需要提供免费升级。 中间件 阅读全文
摘要:
DATASNAP的中间件不仅支持WINDOWS客户端调用,也支持安卓手机,苹果手机客户端调用,当然也包括各种平板客户端调用。 咏南DATASNAP中间件支持安卓手机客户端。测试环境:DELPHI XE8编译,手机系统是安卓5.1,界面使用FIREMONKEY。 DELPHI编写手机客户端的注意事项: 阅读全文
摘要:
最精简的IOCP封装,DELPHI XE8直接编译通过。Winsock2.pas即使用DELPHI自带的,相信XE7也能编译,或者XE6,XE5也能。单说Winsock2.pas,我见过无数种版本的了,各版本WINSOCK 2的API的方法的参数的数据类型居然都有出入,使用不同人封装的Winsock... 阅读全文
摘要:
WINDOWS 2000以后的操作系统才支持IOCP。WINSOCK2.0才支持IOCP。 首先要有一个WINSOCK2.PAS的WINSOCK2.0接口调用声明单元。 WINSOCK的版本号: WINSOCK_VERSION = $0202; 动态库:ws2_32 = 'ws2_32.dll'; 阅读全文
摘要:
网上有人说异步选择模式中不能使用OVERLAPPED(IO重叠)。这是一种误解。异步选择模式中可以使用完成端口作为它的消息队列,从而使用WINDOWS内核的OVERLAPPED。但异步选择模式的SEND,RECV确实还是阻塞的,这点就达不到IOCP的异步效果。 阅读全文
摘要:
TCP长连接会有粘包的问题存在。为什么?问度娘。处理粘包的唯一方法就是制定应用层的数据通讯协议,通过协议来规范现有接收的数据是否满足消息数据的需要。在应用中处理粘包的基础方法主要有两种分别是以4节字描述消息大小或以结束符。在此略过N多代码。 阅读全文
摘要:
大数据是指大于32K或者64K的数据。大数据的发送和接收通过TSTREAM对象来进行是非常方便的。我们把大数据分割成一个个4K大小的小包,然后再依次传输。一、大数据的发送的类语言描述:1)创建流对象,用流对象一次性地加载完大数据2)移动流的POSITION,一次将流的4K大小的一块内存读进一块BUF... 阅读全文
摘要:
1)sendBuf(),sendText(),sendStream()几乎所有的通信控件都会提供上面的3个方法。首先看看SendBuf()。function TCustomWinSocket.SendBuf(var Buf; Count: Integer): Integer;var ErrorCo... 阅读全文
摘要:
fastscript调用Delphi过程: 1. 先创建事件处理方法:TfsCallMethodEvent 2. 然后再用调用TfsScript.AddMethod方法,第一个参数为Delphi方法的语法,第二个参数为TfsCallMethodEvent链接的一个句柄。 如在Delphi有一个过程为 阅读全文