注册 登录
编程论坛 Delphi论坛

【继续拜求】关于获取局域网内的服务器列表【已附上源码】

黑色稻子 发布于 2010-03-19 09:40, 749 次点击
怎么样来实现这个
我用的是listbox控件来实现
在form中添加了listbox之后在他出现的编辑代码框里输入
添加以下代码
procedure TFormSQLServerList.ListBox1Click(Sender: TObject);

function GetSQLserverList(var Alist:Tstrings):boolean;
var
 sqlserverapp:variant;
 serverlist:variant;
 i:integer;
begin
  Result:=true;
 try
  SQLserverapp:=Createoleobject('sqldmo.application');
  serverlist:=SQLserverapp.listavailableSQLservers;
 for i:=1 to serverlist.count do
  Alist.add(serverList.item(i));
  SQLserverApp:=unassigned;
  serverlist:=unassigned;
 except
  result:=false;
 end;
end;
但是编译的时候老是编译不过去
还提示这个
只有本站会员才能查看附件,请 登录
只有本站会员才能查看附件,请 登录


[ 本帖最后由 黑色稻子 于 2010-3-23 13:08 编辑 ]
2 回复
#2
黑色稻子2010-03-23 13:21
沙发自己来
帮忙处理一下
困扰了好几天了
#3
mohao1632010-03-23 16:32

程序代码:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls,comobj;

type
  Tserverlist = class(TForm)
    ListBox1: TListBox;
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  serverlist: Tserverlist;

implementation

{$R *.dfm}
function GetSQLserverlit(var Alist:Tstrings ):Boolean;
var
SQLserverAPP: variant;
serverlist:variant;
i:integer ;
begin

 Result:=True;

 try

 SQLserverAPP:=CreateOleobject('sqldmo.application');

 serverlist:=sqlserverapp.listavailableSQLserver;

 for i:=1 to serverlist.count do
   Alist.add(serverlist.item(i));
    SQLserverapp:=unassigned;
    serverlist:=unassigned;

 except
    Result:=False;
end;

end;

end.

唉。。。。。这个是最基本的错误
你的procedure TFormSQLServerList.ListBox1Click(Sender: TObject);
没有begin end;
最后结束的时候没有end.
不知道你要在ListBox1Click的时候做什么操作,帮你把这个事件取消了。

[ 本帖最后由 mohao163 于 2010-3-23 16:34 编辑 ]
1