服务端问题

casper_zhou 2011-07-15 04:05:24
三层

服务端:使用remote data module, datasetprovider, ADOQuery。

客户端:使用socketconnection, ClientDataSet。

在第一次打开客户端时,总会自动打开服务端程序,就算服务端程序已经打开了,也会再打开另一个服务端程序,而且客户端连接到的就是自动打开的那个服务端程序,之后再打开的客户端也会连接到这个自动打开的服务端那。

现在的问题就是第一次打开客户端连的时候能不能连接到已经打开的服务端那。

不知描述得清不清楚,有没有人知道为什么会这样?
...全文
188 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
SQLDebug_Fan 2011-07-21
  • 打赏
  • 举报
回复
remote data module有一个选项,是每次连接独立创建一个进程,还是一个线程。把Instancing改为Multiple Instance,Threading Model改为Apartment
lyhoo163 2011-07-20
  • 打赏
  • 举报
回复
应该是服务器编程问题。
1、要动态创建remote data module(客户端要求,即建立或取消)
2、服务器要自动运行
3、服务器运行后要连接数据库

检查一下。应该能解决问题。
山东蓝鸟贵薪 2011-07-18
  • 打赏
  • 举报
回复
可能那个参数传递时就有问题,所以就再次启动
服务端程序
casper_zhou 2011-07-18
  • 打赏
  • 举报
回复
casper_zhou 2011-07-18
  • 打赏
  • 举报
回复
Remote Data module没有自动创建
董董 2011-07-18
  • 打赏
  • 举报
回复
很简单,在创建服务器端项目时,remote data module缺省是自动被创建的,即从菜单选择,project-->options-->Forms,把remote data module从左边的auto-create forms中取消。

重新编译后再试试。
casper_zhou 2011-07-18
  • 打赏
  • 举报
回复
casper_zhou 2011-07-18
  • 打赏
  • 举报
回复
还没弄好~
casper_zhou 2011-07-18
  • 打赏
  • 举报
回复
casper_zhou 2011-07-15
  • 打赏
  • 举报
回复
客户端
socketconnection.Connected := TRUE;
只要运行这句,服务端就会自动打开。

我下载过别人的例子来运行,相同的方法,一样的问题。

搞不清楚什么原因,总是通过客户端打开的服务端才可以用。
lzg827 2011-07-15
  • 打赏
  • 举报
回复
是不是客户端的程序有问题
看你的描述,应该是开了客户端就打开服务端,貌似这个流程不对吧。
服务端应该是常开的状态,顶多用客户端激活一下,对吧。
看这样能不能解决你的问题?
casper_zhou 2011-07-15
  • 打赏
  • 举报
回复
这方法试过了,客户端会提示服务器运行失败。
lzg827 2011-07-15
  • 打赏
  • 举报
回复
http://www.cnblogs.com/taobataoma/archive/2007/08/15/856415.html

程序只允许打开一个。应该可以满足你的需求,呵呵

用CreateMutex 做关键字搜下,很多这样的代码。
比如:
可以用CreateMutex,在*.dpr里增加以下代码:

program MyProgram;

uses
Forms,
Dialogs,
Windows,
SysUtils,
main in ' 'main.pas ' ' {Form1},

{$R *.RES}
var hMutex:HWND;

begin
Application.Initialize;
Application.Title := ' 'My Program ' ';

hMutex:=CreateMutex(nil,false, ' 'My Program ' ');
if GetLastError <> ERROR_ALREADY_EXISTS then
begin
Application.CreateForm(TForm1, Form1);
Application.Run;
end
else
begin
MessageDlg( ' '程序已经运行! ' ',mtInformation,[mbOK],0);
ReleaseMutex(hMutex);
end;

end.

1,593

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 网络通信/分布式开发
社区管理员
  • 网络通信/分布式开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧