高手们,大家好!有一人问题一直困扰着我:
shellexecute(0,'open',pchar(edit1.text),nil,nil,sw_shownormal);每次能不能都打开一个新的IE窗口,来显示网页呢,或是有什么其它的办法可以解决?
我顺便问一个我用BDE下的TTABLE控件连接的数据,databasename为指定的路径名,那么我把此程序编译为.exe文件,拿到其它机器试(数据库连接路径设置正确),它能不能出呢
如不能出我应该怎么办呢(在不打包的情况下)?谁能帮助我把问题解决掉,我就把所有分都送给他了,决不失言。

解决方案 »

  1.   

    打开新的IE窗口:ShellExecute(0, 'Open', 'http://www.mdr.com.cn', nil, nil, sw_normal);
      

  2.   

    程序动态改变BDE设置,自己查一下!!在CSDN上关于程序创BDE的很多!!function TForm1.setdbalias(Const AliasName, ServerName, DataBaseName, UserName, SetPassWord: String): Boolean;
    var
      ParamList : TStringList;
    begin
      Result := False;
      ParamList := TStringList.Create;
      try
        ParamList.Clear;
        ParamList.Add('SERVER NAME=' + ServerName);
        ParamList.Add('Database NAME=' + DataBaseName);
        ParamList.Add('USER NAME=' + UserName);//access 的user name 无所谓
        ParamList.Add('PASSWORD=' + SetPassWord);//要换成access mdb的
        if Session.IsAlias(AliasName) then
        begin
          Session.ModifyAlias(AliasName,ParamList);
        end
        else
        begin
          Session.AddAlias(AliasName,'MSSQL',ParamList);  //换成msaccess
        end;
        Session.SaveConfigFile;
      except
        ParamList.free;
        Exit;
      end;
      ParamList.free;
      Result:=True;
    end;
      

  3.   

    你可以根据需要添加或修改BDE设置!!
      

  4.   

    如果数据库连接路径设置正确,应该是可以出的。
    需要注意几点:
    1、如果数据库不在本机,首先要保证通过该机器可以登录数据库所在的机器。
    2、如果通过配置BDE连接,换机器后别忘了配置BDE,可以在配置的BDE中测试数据库是否连通。
      

  5.   

    BDE中最好动态设置DataBaseName!!!因为你不能保证每台计算机上都有一个C:\MyData的目录!!!或者并不是所有的用户东喜欢将你的程序安装在C盘上!!!你可以通过ExtractFilePath( Application.ExeName )得到当前程序的路径,然后根据这个路径,组合出你的数据库文件存放的路径,注意一定要在数据库打开之前!!!第一个问题使用ShellExecute应该可以,如果不行,还可以使用以下两种方法:
    1、使用WinExec( 'iExplore.exe ' + Edit1.Text, SW_SHOW );!!!
    2、使用CreateProcess,这个方法比较复杂!!!
      

  6.   

    哈哈,用ShellExecute(Handle, 'open','IEXPLORE','http://www.sina.com.cn', nil, SW_SHOWNORMAL);就可以了