RT
我已经完成了打包工作,但是无论我怎么努力,还是在安装完后手工建立一个BDE连接才能使用软件,但是用户对这个操作也很是反感,所以我想请教大家如何才能在程序里动态建立一个BDE连接呢?

解决方案 »

  1.   

    将BDE的参数写在程序中不就是动态的吗?但是问题的关键是参数从哪里得到,参数一般要现场进行配置的。
      

  2.   

    将BDE的参数写在程序中不就是动态的吗?但是问题的关键是参数从哪里得到,参数一般要现场进行配置的。
    ————————————————————————————————什么参数?参数我都定好了啊,1、驱动;2、路径;这些我都把他定死了;用户不能改的
    现在问题是我不知道如何在代码中写这些参数并实现代码建立BDE连接楼上的大哥,你说的意思我大概明白,但是我还是不会啊?
    能不能多指教一下,哪怕给我段代码参看一下也好啊网上动态建立OBDC的很多,但是建立BDE的都不知道它说些什么,晕头啊
      

  3.   

    program SetBde;{$APPTYPE CONSOLE}uses
      SysUtils,
      Classes,
      DBTables,
      Dialogs,
      IniFiles,
      windows;var
      MyList: TStringList;
      MySession : TSession;
      TmpName,TmpPath : String;
      IniFile : TIniFile;
      SourceCount : Integer;
      i : Integer;
      FilePath : string;
    begin
      FilePath := GetCurrentDir+'\BdeConFig.INI';
      if not FileExists(FilePath) then Exit;
      IniFile := TIniFile.Create(FilePath);
      if not IniFile.SectionExists('ConFig') then Exit;
      SourceCount := IniFile.ReadInteger('ConFig','SourceCount',0);
      if SourceCount=0 then Exit;  MyList := TStringList.Create;
      MySession := TSession.Create(nil);
      MySession.SessionName := 'MySession';  try
        for i := 1 to SourceCount do
        begin
          MyList.Clear;
          TmpName := IniFile.ReadString('ConFig','Name'+IntToStr(i),'');
          if TmpName = '' then Exit;
          TmpPath := IniFile.ReadString('ConFig','Path'+IntToStr(i),'');
          if TmpPath = '' then Exit;
          MyList.Add('PATH='+GetCurrentDir+TmpPath);
          try
            if DirectoryExists(GetCurrentDir+TmpPath) then
            begin
              if MySession.IsAlias(TmpName) then
                MySession.ModifyAlias(TmpName,MyList)
              else
                MySession.AddAlias(TmpName,'PARADOX', MyList);
              MySession.SaveConfigFile;
            end;
          except
            ShowMessage('请检查是否正确的安装了BDE');
          end;
        end;
      finally
        MyList.Free;
        MySession.Free;
        IniFile.Free;
      end;
      
    end.
      

  4.   

    1、你可把本机的BDE打入安装包中,你本机BDE的别名已经建立
    2、用Driver联接
      

  5.   

    newc_k(帕拉丁) 
    ____________________________
    我不知道本机得BDE怎么打入安装包啊
    我试过把本机BDE文件夹中得文件都考入安装包中,但是那样不行啊
      

  6.   

    zhaojinghui(面对现实,迎接挑战) 
    ——————————————————————————     
       if DirectoryExists(GetCurrentDir+TmpPath) then
            begin
              if MySession.IsAlias(TmpName) then
                MySession.ModifyAlias(TmpName,MyList)
              else
                MySession.AddAlias(TmpName,'PARADOX', MyList);
              MySession.SaveConfigFile;
            end;
    我得事Interbase得驱动,怎么设置 啊?
      

  7.   

    打包一个BDE恐怕要比你原来的程序大上个好多倍,一般来说都是用ADO连接的