Dephi中有关socket的异常解决

dovedrake 2001-06-15 11:46:00
在用Dephi中现成的客户端socket编程时,当与服务器端相连时,如果服务器端没开,将会出现一个异常,但程序还可以继续运行下去,只是弹出一个讨厌的对话框!用try...except却捕获不到这个异常,不知是怎么回事。
请各位帮帮忙,顺便再问一下,有没有什么办法,将Dephi中弹出的异常窗口屏蔽掉
...全文
169 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
dovedrake 2001-06-29
  • 打赏
  • 举报
回复
OK,我大四了,这两天就毕业了:)呵呵,而且早就以低价把自己卖了!
dovedrake 2001-06-28
  • 打赏
  • 举报
回复
对了,用query的SQL语句可以实现一般的数据库功能,但我不知道,如果用SQL来写,怎么样才能实现table的next(即将记录指针移向下一行)
ch81 2001-06-28
  • 打赏
  • 举报
回复
兄弟,我还没毕业,你呢?
他的那一个SQL语句,应该是游标实现的。
你看一下ORACLE中的游标。
runbuff 2001-06-27
  • 打赏
  • 举报
回复
关注。
runbuff 2001-06-27
  • 打赏
  • 举报
回复
关注。
dovedrake 2001-06-27
  • 打赏
  • 举报
回复
可乐好简单呀!
呵呵,我家的机器可能是有毛病,前些日子运行通过的程序,这两天就不好使了。惹火了我,把它全格了!
ch81找到工作了吗?在哪呀?
firewing 2001-06-25
  • 打赏
  • 举报
回复
用得着这么麻烦吗?
在socket的onError事件上,添加处理错误的代码,然后把ErrorCode=0就行了!
ch81 2001-06-24
  • 打赏
  • 举报
回复
同样,我在合肥,广东人。
dovedrake 2001-06-24
  • 打赏
  • 举报
回复
四级我刚过,我是哈尔滨的,但马上就不在哈了,你呢?
dovedrake 2001-06-24
  • 打赏
  • 举报
回复
四级我刚过,我是哈尔滨的,但马上就不在哈了,你呢?
ch81 2001-06-24
  • 打赏
  • 举报
回复
你也考四级吗?
差不多吧,你如何?你哪里的?
dovedrake 2001-06-24
  • 打赏
  • 举报
回复
谢谢你了,原行不好使可能是我没uses AppEvnts吧,谁知道呢,我从来没用过AppEvnts,一会回去查查帮助。
你的四级考的怎么样呀?
dovedrake 2001-06-23
  • 打赏
  • 举报
回复
哈哈,可不吗!这个4你可要珍重呀!先谢谢你了!
ch81 2001-06-23
  • 打赏
  • 举报
回复
type
TForm1 = class(TForm)
ClientSocket1: TClientSocket;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
try
ClientSocket1.Open;
except
end;
end;
end.
//我估计你的程序差不多如上把,会出现10061错误。出提示框把。
//下面为问题解决,已运行通过。在DELPHI的ADDITIONAL的控件版上应能看见
//有一个控件为TApplicationEvent,然后在event中选onexception,然后填入代码
//如果象下面,什么也不填,则不会有任何提示框。
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ScktComp, AppEvnts;
type
TForm1 = class(TForm)
ClientSocket1: TClientSocket;
Button1: TButton;
ApplicationEvents1: TApplicationEvents;
procedure Button1Click(Sender: TObject);
procedure ApplicationEvents1Exception(Sender: TObject; E: Exception);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
ClientSocket1.Open;
end;
procedure TForm1.ApplicationEvents1Exception(Sender: TObject;
E: Exception);
begin
//ShowMessage('xixi');//你的代码
end;
end.

//很奇怪,我最初的解决方法,再我机子上是正常的。你的为什么出错?
//我自定义了一个事件。
//下面是我刚试成功的。
type
TForm1 = class(TForm)
ClientSocket1: TClientSocket;
Button1: TButton;
procedure Button1Click(Sender: TObject);
procedure Exception(Sender: TObject; E: Exception);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Exception(Sender: TObject; E: Exception);
begin
//Showmessage('ee');
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
ClientSocket1.Open;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Application.OnException:=Exception;
end;

end.

ch81 2001-06-22
  • 打赏
  • 举报
回复
明天考完试,我帮你编一个。
最近太忙了,明天CET BAND 4!!MY GOD!
dovedrake 2001-06-22
  • 打赏
  • 举报
回复
这位兄弟,是不是怪我问的问题太低级了,帮帮忙吗!只要程序能调的通,一定给分,而且,分不会给的太少,帮帮忙了!
dovedrake 2001-06-17
  • 打赏
  • 举报
回复
但是在函数声明的时候是怎么声明呀!
当写到Application.OnException := AppException;时,程序总是要我输入参数,但当我随便编个参数时,它又说我'TExceptionEvent' and 'procedure, untyped pointer or untyped parameter'
能把相关的代码全部列出来让我看看吗?
我以前编程的时候,当动态生成某个控件的某个事件时,它也要求我输入参数,可有些书中介绍时,总是将相应的函数句柄赋给它就可以了,但我也那么做时,却调不通,这是怎么回事呀?

ch81 2001-06-16
  • 打赏
  • 举报
回复
你可以用
procedure TForm1.FormCreate(Sender: TObject);
begin
Application.OnException := AppException;

end;
procedure TForm1.AppException(Sender: TObject; E: Exception);

begin
end;
你用没用控件进行连接?如果有,则用该控件的ONEXCEPTION

4,390

社区成员

发帖
与我相关
我的任务
社区描述
通信技术相关讨论
社区管理员
  • 网络通信
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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