CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Delphi >  VCL组件开发及应用

iis虚拟目录的设置,很急的//我的QQ:78615919

楼主workboy(http://cnboor.com)2002-06-23 09:25:51 在 Delphi / VCL组件开发及应用 提问

procedure   TForm1.BitBtn1Click(Sender:   TObject);    
  var    
      WebSite,   WebServer,   WebRoot,   VDir:   Variant;    
  begin    
      WebSite   :=   CreateOleObject('IISNamespace');//运行这行报错    
      WebSite   :=   WebSite.GetObject('IIsWebService',   'localhost/w3svc');    
      WebServer   :=   WebSite.GetObject('IIsWebServer',   '1');    
      WebRoot   :=   WebServer.GetObject('IIsWebVirtualDir',   'Root');    
      VDir   :=   WebRoot.Create('IIsWebVirtualDir',   'VariantTest');    
      VDir.AccessRead   :=   True;    
      VDir.Path   :=   'C:\Test';    
      VDir.SetInfo;    
  end;    
   
  1、老是说什么什么找不到?  
  2、哪个地方是设置虚拟目录的,c:\test是真实的目录,那虚拟目录在那设置?  
  谢谢老大了//快呀/我很急的  
  问题点数:100、回复次数:10Top

1 楼workboy(http://cnboor.com)回复于 2002-06-23 09:30:49 得分 0

运行时是否引用什么单元呀?难道没有高手在线吗?Top

2 楼yanyading(向OOP转行的Turbo Basic)回复于 2002-06-23 09:43:13 得分 0

你不再   IIS   里面架目录么?!    
  IIS管理器里面去架目录就好了!  
  控制面板>服务管理器>Internet服务Top

3 楼manboo(我从山中来)回复于 2002-06-23 09:44:04 得分 90

unit   ActiveDs;  
  interface  
      function   ADsGetObject(const   PathName:   WideString;   const   GUID:   TGUID;   out   I:   IUnknown):   HRESULT;   stdcall;  
  implementation  
      function   ADsGetObject;                             external   ’activeds.dll’   name   ’ADsGetObject’;  
  end.  
   
  方法一(参照C++)、  
  var  
      I:   IADsContainer;  
      ADs:   IADs;  
  begin  
      if   ADsGetObject(’IIS://localhost/w3svc’,   IID_IADsContainer,   IUnknown(I))   =   S_Ok   then  
      begin  
          ADs   :=   IADs(I.GetObject(’IIsWebServer’,   ’1’));  
          ShowMessage(ADs.ADsPath);  
          if   ADs.QueryInterface(IID_IADsContainer,   I)   =   S_OK   then  
          begin  
              ADs   :=   IADs(I.GetObject(’IIsWebVirtualDir’,   ’Root’));  
              ShowMessage(ADs.ADsPath);  
              if   ADs.QueryInterface(IID_IADsContainer,   I)   =   S_OK   then  
              begin  
                  ADs   :=   IADs(I.Create(’IIsWebVirtualDir’,   ’DelphiTest’));  
                  ADs.Put(’AccessRead’,   ’True’);  
                  ADs.Put(’Path’,   ’c:Temp’);  
                  ADs.SetInfo;  
              end;  
          end;  
      end;  
  end;  
   
  方法二(使用接口)、  
  procedure   TForm3.BitBtn4Click(Sender:   TObject);  
  var  
      Disp:   IDispatch;  
  begin  
      Disp   :=   IISNamespace1.GetObject(’IIsWebService’,   ’localhost/w3svc’);  
      Disp   :=   (Disp   as   IADsContainer).GetObject(’IIsWebServer’,   ’1’);  
      Disp   :=   (Disp   as   IADsContainer).GetObject(’IIsWebVirtualDir’,   ’Root’);  
      Disp   :=   (Disp   as   IADsContainer).Create(’IIsWebVirtualDir’,   ’DelphiADSITest’);  
      (Disp   as   IADs).Put(’AccessRead’,   ’True’);  
      (Disp   as   IADs).Put(’Path’,   ’c:ADSITest’);  
      (Disp   as   IADs).SetInfo;  
  end;  
   
  方法三(使用Variant,就是类似VB和ASP的方法)、  
  procedure   TForm2.BitBtn1Click(Sender:   TObject);  
  var  
      WebSite,   WebServer,   WebRoot,   VDir:   Variant;  
  begin  
      WebSite   :=   CreateOleObject(’IISNamespace’);  
      WebSite   :=   WebSite.GetObject(’IIsWebService’,   ’localhost/w3svc’);  
      WebServer   :=   WebSite.GetObject(’IIsWebServer’,   ’1’);  
      WebRoot   :=   WebServer.GetObject(’IIsWebVirtualDir’,   ’Root’);  
      VDir   :=   WebRoot.Create(’IIsWebVirtualDir’,   ’VariantTest’);  
      VDir.AccessRead   :=   True;  
      VDir.Path   :=   ’C:Test’;  
      VDir.SetInfo;  
  end;  
   
   
  或者  
  function   ADsGetObject(const   PathName:   WideString;   const   GUID:TGUID;   out   I:   IUnknown):   HRESULT;   stdcall;external   'activeds.dll'   name   'ADsGetObject';  
  procedure   TForm1.Button1Click(Sender:   TObject);  
  var  
  Disp:   IDispatch;  
  begin  
                  Disp   :=   IISNamespace1.GetObject('IIsWebService',   'localhost/w3svc');  
                  Disp   :=   (Disp   as   IADsContainer).GetObject('IIsWebServer',   '1');  
                  Disp   :=   (Disp   as   IADsContainer).GetObject('IIsWebVirtualDir',   'Root');  
                  Disp   :=   (Disp   as   IADsContainer).Create('IIsWebVirtualDir',   'DelphiADSITest');  
                  Disp   as   IADs).Put('AccessRead',   'True');  
                  Disp   as   IADs).Put('Path',   'c:\ADSITest');  
                  Disp   as   IADs).SetInfo;  
  end;  
  Top

4 楼workboy(http://cnboor.com)回复于 2002-06-23 10:23:44 得分 0

楼上的,你自己实验过吗?如果实验过把你的源程序给我好吗?我的老是出错?我用的是delphi5+win2k+IIS5?     e-mail:cnboor@163.com谢谢Top

5 楼workboy(http://cnboor.com)回复于 2002-06-23 10:26:45 得分 0

快呀Top

6 楼stiwin((忙碌))回复于 2002-06-23 10:58:05 得分 10

关注Top

7 楼manboo(我从山中来)回复于 2002-06-23 11:11:02 得分 0

sorry!是一个朋友写的我还没试验呢!Top

8 楼workboy(http://cnboor.com)回复于 2002-06-23 11:54:31 得分 0

难道没有人实验过吗?Top

9 楼workboy(http://cnboor.com)回复于 2002-06-24 08:16:56 得分 0

难道没有人做过吗?最好是有delphi源程序的,帖出来的不算呀,,我只要你做的?Top

10 楼workboy(http://cnboor.com)回复于 2002-07-01 13:22:55 得分 0

怎么了?Top

相关问题

  • 如何建立IIS虚拟目录
  • ◎◎◎◎◎◎◎◎IIS设置虚拟目录的方法?●●●●●●
  • 请教:iis开的ftp中虚拟目录在根目录中不可见
  • 如何在虚拟目录中读取IIS根目录的物理路径??
  • 可否编程实现在IIS建立WEB虚拟目录和FTP虚拟目录?
  • 在IIS中的虚拟目录怎样用命令来创建虚拟目录的应用程序名称
  • 在IIS中的虚拟目录怎样用命令来创建虚拟目录的应用程序名称
  • 用IIS + resin 怎样配置虚拟目录?
  • 请问怎样用VB创建IIS的虚拟目录?
  • 在xp下怎样用IIS设置虚拟目录?

关键词

  • 虚拟
  • iis
  • adsgetobject
  • iadscontainer
  • 目录
  • vdir
  • iads
  • iiswebvirtualdir
  • ads
  • getobject

得分解答快速导航

  • 帖主:workboy
  • manboo
  • stiwin

相关链接

  • Delphi类图书
  • Delphi类源码下载
  • Delphi控件下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo