c++builder调用delphi编写的datasnap程序的有关问题
发布时间:2011-06-28 14:01:41 文章来源:www.iduyao.cn 采编人员:星星草
c++builder调用delphi编写的datasnap程序的问题
delphi编写datasnap服务器
new datasnap server向导
unit ServerContainerUnit1;
interface
uses
SysUtils, Classes,
DSTCPServerTransport,
DSServer, DSCommonServer;
type
TServerContainer1 = class(TDataModule)
DSServer1: TDSServer;
DSTCPServerTransport1: TDSTCPServerTransport;
DSServerClass1: TDSServerClass;
procedure DSServerClass1GetClass(DSServerClass: TDSServerClass;
var PersistentClass: TPersistentClass);
private
{ Private declarations }
public
end;
var
ServerContainer1: TServerContainer1;
implementation
uses Windows, ServerMethodsUnit1;
{$R *.dfm}
procedure TServerContainer1.DSServerClass1GetClass(
DSServerClass: TDSServerClass; var PersistentClass: TPersistentClass);
begin
PersistentClass := ServerMethodsUnit1.TServerMethods1;
end;
end.
unit ServerMethodsUnit1;
interface
uses
SysUtils, Classes, DSServer, DBXJSON;
type
TServerMethods1 = class(TDSServerModule)
private
{ Private declarations }
public
{ Public declarations }
pecho: TDBXCallback;
function EchoString(Value: string): string;
procedure reg_echo(pecho: TDBXCallback);
end;
var
ServerMethods1: TServerMethods1;
implementation
{$R *.dfm}
function TServerMethods1.EchoString(Value: string): string;
var
param: TJSONObject;
returnresult: TJSONString;
begin
param := TJSONObject.Create(TJSONPair.Create('echostring',Value));
returnresult := pecho.Execute(param) as TJSONString;
Result := returnresult.Value;
end;
procedure TServerMethods1.reg_echo(pecho: TDBXCallback);
begin
self.pecho := pecho;
end;
end.
c++builder编写客户端代码
//---------------------------------------
#ifndef Unit4H
#define Unit4H
#include <DBXJSON.hpp>
//---------------------------------------
class TEchoCallback : TDBXCallback
{
public:
TJSONValue* __fastcall Execute(const TJSONValue* Arg);
};
#endif
//---------------------------------------
#pragma hdrstop
#include "Unit4.h"
//---------------------------------------
#pragma package(smart_init)
TJSONValue* __fastcall TEchoCallback::Execute(const TJSONValue* Arg)
{
TJSONString* returnstr;
TJSONObject* ArgObj = (TJSONObject*)Arg;
returnstr = new TJSONString(L"hello "+ArgObj->Get(0)->Value());
return returnstr;
}
自动生成的代码
#ifndef Unit3H
#define Unit3H
#include "DBXCommon.hpp"
#include "Classes.hpp"
#include "SysUtils.hpp"
#include "DB.hpp"
#include "SqlExpr.hpp"
#include "DBXDBReaders.hpp"
class TServerMethods1Client : public TObject
{
private:
TDBXConnection *FDBXConnection;
bool FInstanceOwner;
TDBXCommand *FEchoStringCommand;
TDBXCommand *Freg_echoCommand;
public:
__fastcall TServerMethods1Client::TServerMethods1Client(TDBXConnection *ADBXConnection);
__fastcall TServerMethods1Client::TServerMethods1Client(TDBXConnection *ADBXConnection, bool AInstanceOwner);
__fastcall TServerMethods1Client::~TServerMethods1Client();
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。
其他相似内容:
-
C#项目中如何更改项目保存的文件夹名?
求解。。
------解决方案--------------------
好像需要重构吧,同样求高人解答。
------...
-
C#中让TextBox只能输入数字的问题
我用的如下的代码:
static private Regex r = new Regex("^[0-9]{1,}$ ");
...
-
带数据库的程序打包注意什么?
打的包出错:Error:System.InvalidOperationException: ExecuteReader 要求已打开且可用的连接。连接的...
-
想学习一下网络程序开发 请给推荐几本书
学习基于http协议的程序开发 比如获取网页 分析网页 模拟网页操作 下载上传文档等知识 ...
-
qq的安装包是用什么工具?
想用.net制作一个想qq一样比较漂亮的安装包。有例子最好
------解决方案--------------------
新建->安...
-
C# 写的windows服务 调用 C++ dll 的问题
我封装了一个dll
用一个普通的winform程序 调用的时候没 问题。
但是放在C#写的服务程...
-
在VS2005中怎么调出 解决方案 那个图标?(图示)求解释~~~
这是我用的VS
这是我在教学视频上看到的VS
------解决方案------------...
-
寻友
有人在自学c#编程吗,可以互相认识一下,以后共同探讨学习中的问题……
------解决方案--------------------
朋友多了,路好走~
...
-
急!急!急!C#代码
怎样将数据库中的数据动态加载到Treeview控件中
------解决方案--------------------
C# code
void CreateTree(T...
-
救急??????????????????
哪位高手帮我一下,在C#中怎么写关于鼠标和键盘监听事件,我的程序就差监听鼠标和键盘是否动,然后定时关机这个功能了,请高手指点,...