新建Webbroker项目:

选择类型:

开始可以使用:Indy VCL Application 方便调试,完成后,再新建一个DLL 项目,引用业务单元。

 

示例代码如下:

unit uDataModuleMain;

interface

uses
  SysUtils, Classes, HTTPApp, HTTPProd;

type
  TWebModule2 = class(TWebModule)
    ppTest: TPageProducer;
    procedure ppTestHTMLTag(Sender: TObject; Tag: TTag; const TagString: string;
      TagParams: TStrings; var ReplaceText: string);
    procedure WebModule2DefaultHandlerAction(Sender: TObject;
      Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  WebModuleClass: TComponentClass = TWebModule2;

implementation

{$R *.dfm}

procedure TWebModule2.ppTestHTMLTag(Sender: TObject; Tag: TTag;
  const TagString: string; TagParams: TStrings; var ReplaceText: string);
begin
    Response.ContentType := 'text/html;charset="utf-8"';
      try
      if SameText(TagString, 'doctitle') then  // TPageProducer组件的标记处理,指定 HTMLDoc 属性 ,标记格式 <#flag>
        ReplaceText := dm.GetTitle
      else if SameText(TagString, 'docbody') then
        ReplaceText := dm.GetBody
      else
        ReplaceText := '';
    except
      on E: Exception do
      begin
        ReplaceText := Format('ERROR! &lt;#%s&gt; raised %s: %s',
          [TagString, E.ClassName, E.Message])
      end
    end;
end;

procedure TWebModule2.WebModule2DefaultHandlerAction(Sender: TObject;
  Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
begin
    Response.ContentType := 'text/html;charset="utf-8"';   //指定编码
    Response.Content := 'WEB服务运行正常. ' + DateTimeToStr(Now);

    // Request.QueryFields.Values['sid'];  //查询参数获取

end;
end.

[Delphi] Webbroker ISAPI 示例说明的更多相关文章

  1. Delphi ServerSocket,ClientSocket示例

    Delphi ServerSocket,ClientSocket示例 2008-05-09 16:20 Delphi TServerSocket,TClientSocket实现传送文件代码 1.建立两 ...

  2. delphi webbrowser 常用方法示例

    var Form : IHTMLFormElement ; D:IHTMLDocument2 ; begin with WebBrowser1 do begin D := Document as IH ...

  3. delphi 操作xml示例(DelphiBBS)

    自:http://www.delphibbs.com/keylife/iblog_show.asp?xid=20713 ======================================== ...

  4. [Windows] IIS6 部署ISAPI

    环境: OS:Windows Server 2003  Enterprise sp2 34位 IIS:6.0 ISAPI: delphi xe 编译的webbroker isapi dll 32位 ( ...

  5. [Windows] IIS7.5 部署ISAPI

    环境: OS:Windows Server 2008 R2 Enterprise sp1 64位 IIS:7.5 ISAPI: delphi xe 编译的webbroker isapi  dll  3 ...

  6. 使用delphi+intraweb进行微信开发4—微信消息加解密

    示例代码已经放出!请移步使用delphi+intraweb进行微信开发1~4代码示例进行下载,虽为示例代码但是是从我项目中移出来的,封装很完备适于自行扩展和修改. 在上一讲当中我做了个简单的微信文本消 ...

  7. 让Delphi的DataSnap发挥最大效率

    让Delphi的DataSnap发挥最大效率 让Delphi的DataSnap发挥最大效率 一个DataSnap的应用程序由两个层组成: DataSnap服务器,它有一个带有一个或者更多DataSet ...

  8. [原创] Delphi Win API函数 操作帮助文件 HtmlHelpA函数介绍

    Delphi Win API函数 操作帮助文件 HtmlHelpA函数介绍 函数原型:HWND HtmlHelpA( HWND hwndCaller, LPCSTR pszFile, UINT uCo ...

  9. delphi 压缩

    DELPHI 通过ZLib来压缩文件夹 unit Unit1; interface uses ZLib, Windows, Messages, SysUtils, Variants, Classes, ...

随机推荐

  1. Python操作中缓存Redis

    Redis redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sorte ...

  2. MacOS下JDK6源码配置

    参考:http://www.mkyong.com/mac/how-to-download-jdk-source-code-for-mac-os-x/ 系统默认的JDK是没有源码的,据说这是因为此JDK ...

  3. Rhythmk 一步一步学 JAVA (15) mybatis 入门学习-1

    1.mybatis 通过mybatis-generator-core-1.3.2 代码生成: 工具下载地址: https://code.google.com/p/mybatis/ 解压工具包 myba ...

  4. C#中 标识符“XXX”不符合 CLS

    标识符“XXX”不符合 CLS,意思是只要是不与外面有接口,比如在私有函数中操作,可是使用一些不符合cls的类型,但是如果是公共的,就必须要符合这个规范. 解决方法是,将这个类中的这些public类型 ...

  5. 转 CentOS下面安装RVM+ruby+Rails

    CentOS6.2下面安装RVM+ruby+Rails (1)RVM官方网站应该是改版过一次, 使用 curl -L https://get.rvm.io | bash -s stable 下载并安装 ...

  6. Python修饰器讲解

    转自:http://www.cnblogs.com/rollenholt/archive/2012/05/02/2479833.html 文章先由stackoverflow上面的一个问题引起吧,如果使 ...

  7. 最近学习的sql查询语句连接查询,标记一下

    select wordbase.name,wb.name,wordconnection.wordid,wordconnection.aid,wordbase.goodsid,goods.hscode, ...

  8. Mysql事务及行级锁

    事务隔离级别 数据库事务隔离级别,只是针对一个事务能不能读取其它事务的中间结果. Read Uncommitted (读取未提交内容) 在该隔离级别,所有事务都可以看到其他未提交事务的执行结果.本隔离 ...

  9. Vertex Lit

    [Vertex Lit] Vertex Lit path generally renders each object in one pass, with lighting from all light ...

  10. SpringBoot 中 使用Mybatis时 如果后端数据库为 Oracle注意事项

    报错信息如下: Could not set parameters for mapping: ParameterMapping{property='age', mode=IN, javaType=cla ...