procedure TFrm_DBBackupMain.SQLServerinitialization(
  SQLServerName: TComboBox);
var
  SQLServer: Variant;
  ServerList: Variant;
  i: integer;
begin
  // 初始化SQLServer 名称
  SQLServer := CreateOleObject('SQLDMO.Application');
  ServerList:= SQLServer.ListAvailableSQLServers;
  SQLServerName.Items.Clear ;
  for i := 1 to Serverlist.Count do
    SQLServerName.Items.Add(Serverlist.Item(i));
end;为什么我编一个EXE文件,在打开时执行这个过程会出错,提示[无效的字符串类别]我打包装在一个没有安装Delphi的电脑上,怎么会出现错误,在有Delphi的电脑上又没事!是不是需要什么东西支持??  是不是需要 MDAC 2.7 之类的

解决方案 »

  1.   

    SQLServerName.Items.Add(Serverlist.Item[i]);
      

  2.   

    楼上搞笑~提示[无效的字符串类别]是因为,CreateOleObject找不到'SQLDMO.Application'这个对象,也就是说这个对象没有在目标机器上注册,说明白点,就是目标电脑没有装SQL SERVER,起码得装个客户端
      

  3.   

    Delphi7+SQL 2000+Ado,打包时需要把什么东西打进去
      

  4.   

    //是否该这样
      for i := 0 to Serverlist.Count-1 do
        SQLServerName.Items.Add(Serverlist.Item(i));