目前客户端文件client.exe,intrcpt.dll,用SocketConnection.
想把intrcpt.dll合并到client.exe中,这样分发时只有一个可执行文件,不想用从自身分离出intrcpt.dll到硬盘中,然后在winexec('regsvr32.exe /s '+path+'intrcpt.dll').用其它的方法实现它,比如在内存中映射DLL,生成GUID,可以设置SocketConnection的InterceptGUID还有一个问题,设想客户端传给中间层的都是一个存储过程的代号,而中间层返回给客户端的记录集或一个返回码(是否成功),不要写CommandText(担心表结构,执行任意SQL,不安全),而且为了中间层与数据库统一接口,最好只用一个DataSetProvider和一个ADOStoredProc或其它DataSet.应该有办法,比如定义方法什么的,大家多给我一些建议啊!!!如有其它更好的办法那是最好了,请大家帮帮忙吧,为这事我头都大了...

解决方案 »

  1.   

    1,直接分发intrcpt.dll啊。
    2,方法不好。中间层可以不写通用查询更新方法啊。根据业务,定义接口。比如用户登录只做一个接口:XXX.login(var xxx)参数据只做判断依据。不表现出具体表名等。业务就不要写在客户端了。这样也安全啊。
      

  2.   

    1.那不是客户端还是要分发两个文件才能使用.我想要让客户端下载一个可执行文件就可以正常使用
    2.接口返回一个值,但是要返回一个记录集怎么办,如中间层处理select * from tab1.
      

  3.   

    1,用WISE9做安装程序啊。
    2,用OLEVariant啊。clientdataset.data:=OleVariant型变量就行了。
    用IAppServer接口的AS_GetRecordSet方法取。
      

  4.   

    1.我的客户端不想让用户需要安装后才能使用
    2.AS_GetRecordSet怎么用,用没例子,还有其它的办法吗?