Delphi DLL部分:Library DBSvrTest;uses
  SysUtils,
  Classes,
  forms,
  Dialogs,
  TestForm1 in 'TestForm.pas' {Form1};Function Insert_data(jcbh:String;jclx:integer;clzt, hpzl, hphm, cllx, clpp, clxh, clsbdh:String;zs:integer;
                 rlzl, glbm, xzqh:String; ccrq: TDateTime; hcz, coz,
                 noz: Single; pfcs: integer; pfpj: String; csz: Single;
                 cspj:String; chz: Single; chpj:String; sjz: Single;
                 sjpj:String; tzxg: Single; ygz12, ygpj, jgz8, jgpj,
                 dgpj, zz45, zdzpj, wjbhgx, jyy1, dpbhgx, jyy2, dtbhgx, jtbhgx, jyy4,
                 wjpj: String; zdjl: Single; jyy5: String; zdjsd,
                 zdxtsj: Single; jyy6: String; zdwdx: Single; jyy7, lspj,
                 lsbz, zcpj:String; jcsj: TDateTime; jcxdm, dlym, ycym,
                 shy, pwd:String; var msg,v_res: Variant):integer; stdcall;
var
  Form1: TForm1;
begin
  Form1:=TForm1.Create(application);
  Form1.sconn.Open;
  v_res:=form1.sconn.AppServer.Insert_data(jcbh,jclx,clzt, hpzl, hphm, cllx, clpp, clxh, clsbdh,zs,
                 rlzl, glbm, xzqh, ccrq, hcz, coz,
                 noz, pfcs, pfpj, csz,
                 cspj, chz, chpj, sjz,
                 sjpj, tzxg, ygz12, ygpj, jgz8, jgpj,
                 dgpj, zz45, zdzpj, wjbhgx, jyy1, dpbhgx, jyy2, dtbhgx, jtbhgx, jyy4,
                 wjpj, zdjl, jyy5, zdjsd,
                 zdxtsj, jyy6,zdwdx,jyy7, lspj,
                 lsbz, zcpj, jcsj, jcxdm, dlym, ycym,
                 shy,pwd, msg);
  Form1.Sconn.Close;
  Form1.Close;  Insert_data:=v_res;end;exports  Insert_Into_jcx ;beginend.说明:sconn是TSocketConnection控件,而sconn.AppServer.Insert_data是一个中间应用服务(在这里是插入一条数据)Vb6 部分:
Private Sub cmdTest_Click()
  Dim nRtn As Integer
  
  '定义变量(略)  nRtn = Insert_data (jcbh,jclx,clzt,hpzl,hphm,cllx,clpp,clxh,clsbdh,zs, _
     rlzl,glbm,xzqh,ccrq,hcz,coz, noz,pfcs,pfpj,csz, cspj,chz,chpj,sjz, _
     sjpj,tzxg,ygz12,ygpj,jgz8,jgpj, dgpj,zz45,zdzpj,wjbhgx,jyy1,dpbhgx,jyy2,dtbhgx,jtbhgx,jyy4, _
     wjpj,zdjl,jyy5,zdjsd, zdxtsj,jyy6,zdwdx,jyy7,lspj, lsbz,zcpj,jcsj,jcxdm,dlym,ycym, _
     shy,pwd,msg,res ) End Sub问题:在VB下运行此功能,如果网络正常,则成功插入一条数据并正常结束;当网络不正常或不通时,则导致整个应用不能操作,经过较长时间后,出现程序异常提示窗口,按确定按钮整个应用便异常退出。请各位高手帮看看!多谢了!

解决方案 »

  1.   

    加错误处理
      
    *****************************************************************************
    欢迎使用CSDN论坛阅读器 : CSDN Reader(附全部源代码) 
    http://www.cnblogs.com/feiyun0112/archive/2006/09/20/509783.html
      

  2.   

    多谢回复!在网络服务不存在或不通时,测试Delphi中Form1.sconn.Open,延时很长,而TSocketConnection又没有相关属性或功能来限制它。对于加错误处理,不知在Delphi中加,还是在VB中加,如何加?还望指点迷津,多谢!
      

  3.   

    要么修改DELPHI的代码,加上错误判断要么在执行前判断一下网络状况