上一页 1 ··· 142 143 144 145 146 147 148 149 150 ··· 196 下一页
摘要: 获取插件中的预约接口,调用预约接口中的方法执行插件中某一项功能。unit Loader;interfaceuses DLLLoader, uInterface, SysUtils, Classes, windows;type TLoader = class(TDLLLoader) private FInts: IModelInts; function GetInts: IModelInts; public destructor destroy; override; property ModelServiceInts: IModelInts read GetInts; end;implement 阅读全文
posted @ 2012-02-19 17:14 delphi中间件 阅读(834) 评论(0) 推荐(0) 编辑
摘要: 对于DELPHI来说,总共支持俩种类型的插件:DLL和BPL方式的插件。对于比较完美的插件框架来说,俩种类型的插件都要支持。unit DLLLoader;interfaceuses windows, Classes, SysUtils, Forms, StrUtils;type TLibraryType = (dll, bpl); // plugin type: dll or bpl TDLLLoader = class(TObject) private FHandle: THandle; FFileName: string; FLibraryType: TLibraryType; proce 阅读全文
posted @ 2012-02-19 17:12 delphi中间件 阅读(1060) 评论(0) 推荐(0) 编辑
摘要: .net类库的原因。C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\CONFIG下面的machine.config.default 改名为machine.config 阅读全文
posted @ 2012-02-12 07:42 delphi中间件 阅读(803) 评论(4) 推荐(0) 编辑
摘要: //author: cxg//sql工厂unit MySQL;interfaceuses SysUtils, SqlExpr, DBClient, db, DBXCommon,Provider;type TMySQL = class(TObject) private fSqlcommand: string; fQry: TClientDataSet; fSqlMethod: TSqlServerMethod; fSqlConnection: TSQLConnection; fDbxTrans: TDBXTransaction; fP:TDataSetProvider; fD:TClientDa 阅读全文
posted @ 2012-02-12 07:18 delphi中间件 阅读(1171) 评论(0) 推荐(0) 编辑
摘要: xe datasnap自动支持TParams对象的序列,无需我们手动序列,真的很方便。远程方法定义示例:function TServerMethods1.GetData(sql: string; params: TParams): TDataSet;begin cds.Close; cds.CommandText := ''; cds.CommandText := sql; cds.Params.Clear; cds.Params := params; cds.Open; Result := cds;end;客户端远程调用示例:function TMySQL.GetData: 阅读全文
posted @ 2012-02-12 07:16 delphi中间件 阅读(966) 评论(1) 推荐(0) 编辑
摘要: //author: cxgunit DSServerContainer;interfaceuses SysUtils, Classes, IniFiles, Windows, Provider, DBClient, DSTCPServerTransport, DSServer, DSCommonServer, DB, ADODB, Generics.Collections, DSService, DBXDataSnap, DBXCommon, DSHTTPLayer, DBXinterbase, forms, DbxCompressionFilter ,IdTCPConnection ,IdW 阅读全文
posted @ 2012-02-12 07:09 delphi中间件 阅读(2116) 评论(3) 推荐(0) 编辑
摘要: 回调除了用REST支持调用DataSnap服务方法外,JSON还用于实现回调方法.DataSnap2010支持客户端回调函数,使其执行在服务方法上下文中.这样就可以实现客户端调用服务端方法时,服务端就可以调用由客户端传递好参数的回调函数.例如,我们修改EchoString方法,向其中添加回调支持.修改后的EchoString方法如下:function EchoString(Value: string; callback: TDBXcallback): string;TDBXcallback类定义在DBXJSON单元.在我们实现EchoString方法前,先搞清楚如何在客户端定义回调函数(毕竟, 阅读全文
posted @ 2012-02-11 22:12 delphi中间件 阅读(1228) 评论(0) 推荐(0) 编辑
摘要: 1.连接SQL SERVER数据库procedure TForm1.Button1Click(Sender: TObject);var p: TSQLConnection;begin try p := TSQLConnection.Create(nil); try p.ConnectionName := 'MSSQLConnection'; p.DriverName := 'MSSQL'; p.GetDriverFunc := 'getSQLDriverMSSQL'; p.KeepConnection := true; p.LoginPrompt 阅读全文
posted @ 2012-02-11 22:10 delphi中间件 阅读(3264) 评论(0) 推荐(0) 编辑
摘要: {之前说到中间层通过向客户端暴露方法的方式提供服务,实现数据库数据的读取和更新。方法调用的方式,其潜在的意义,就是说中间层不保存客户端状态信息,就像WEB服务一样,客户端需要自己保存自己的状态信息。进一步说,就是中间层具体提供方法的业务对象实例,不是也不应该专属于某个客户端,它应该能够为不同的客户端调用提供服务。如果我们把业务对象实例放到对象池中集中存放,调用方法时随用随取,方法结束即放回池中。这样就可以实现业务对象实例服务于不同的客户端调用请求。更重要的是,利用对象池,能够最大化服务器各种资源的使用效率,而且对客户端的响应也更快了,因为业务对象实例早就创建好了,取来即用。其实,DataSna 阅读全文
posted @ 2012-02-11 22:09 delphi中间件 阅读(1818) 评论(0) 推荐(0) 编辑
摘要: // Rtti调用类的方法 procedure TForm1.Button1Click(Sender: TObject);var obj: TMyClass; t: TRttiType; m1,m2: TRttiMethod; r: TValue; begin t := TRttiContext.Create.GetType(TMyClass); m1 := t.GetMethod('msg'); m2 := t.GetMethod('Add'); obj := TMyClass.Create(Self); m1.Invoke(obj, ['Delphi 阅读全文
posted @ 2012-02-11 22:04 delphi中间件 阅读(554) 评论(0) 推荐(0) 编辑
上一页 1 ··· 142 143 144 145 146 147 148 149 150 ··· 196 下一页