目的:连库的地方如果没有库就执行一个安装程序,
思路大概是下面这个意思,由于我对delphi不熟悉所以怎么都捕捉不到这个错误try
           ADOConnection1.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\Program Files\aaa\db.mdb;Persist Security Info=False';
        except
        begin            ShowMessage('因为第一次运行或删除了必要文件,必须安装部分程序在硬盘中。');
            ShellExecute(Handle, 'open', PChar(ExtractFilePath(application.ExeName)+'setup.exe'), nil, nil, SW_SHOW);
            f.Close;
        end;
        end;

解决方案 »

  1.   

    ADOConnection1.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\Program Files\aaa\db.mdb;Persist Security Info=False'; //这个连接字符串,并没有真正的连接
    没有加  ADOConnection1.Connected := True;//打开数据库连接。
      

  2.   

    if not fileExists('c:\Program Files\aaa\db.mdb') then
     beginShowMessage('因为第一次运行或删除了必要文件,必须安装部分程序在硬盘中。');
                ShellExecute(Handle, 'open', PChar(ExtractFilePath(application.ExeName)+'setup.exe'), nil, nil, SW_SHOW);
     end;