按文章的说明,做了修改,编译成了一个ISAPI类型的DLL,即hr.dll,可在浏览器中却不能正确调用(其中,hr.exe在调试时运行正常!!)???
test目录是我建的虚拟目录,把生成的Hr.dll和hr.exe(修改前生成)拷贝到了该虚拟目录对应的目录下,具有执行ISAPI和CGI程序的权限,我在浏览器中是这么调用的:
1,http://xxx.xxx.xxx/test/hr.dll
2,http://xxx.xxx.xxx/test/hr.dll/EXEC
3,http://xxx.xxx.xxx/test/hr.exe分别出现如下的错误:
1,
My Intraweb Application Error  
  Unrecognized Command: : : 
2,
My Intraweb Application Error  
  Session not found. Session may have expired. 
3,
CGI Error
The specified CGI application misbehaved by not returning a complete set of HTTP headers. The headers it did return are:

解决方案 »

  1.   

    1、的用法是错的。2、的用法是对的,可能在hr.dll中没有名为EXEC
    相应。
    3、返回的文本字符应付给Response.Content
    你可能付给了Response.ReasonString(这是不对的有很多例子都这样,这是错的);
      

  2.   

    我还没有仔细研究那个例子!但我认为1)是正确的,因为我用向导生成了一个简单的ISAPI程序(只放了几个标签,输入框,按钮),正常的,按按钮也显示出了我想显示的信息,所以看来,那个例子程序好象有问题,哪天有时间研究吧,当然谁要是知道错在什么地方,能指出来更好了!!
      

  3.   

    该例子的数据库源要如何设置,一打开就提示有问题。
    另外建新的Application Form 后如何把那个左边的菜单(Framemenu)加入进来?
    左边的菜单(Framemenu)这个是用[file]->[new]->[Trame]得到的吗?
      

  4.   

    to  xqls(xqls) ,
    没有搞明白你说的是什么意思???例子在光盘上啊,数据库也应该用的是Access数据库,用Ado连的(只是需要另外下载一个TbetterAdo控件,好象是这个名字吧!),我想只要库文件和可执行文件在同一个目录,应该是没有问题的啊!!
    哦,你提醒我了,是不是要将那个库文件要考到Test目录下啊,明天再试!
      

  5.   

    后面两个是说框架继承问题,已搞定。
    最前面的问题就是你说的找不到TbetterAdo控件,不知道去哪里弄到这个控件。
    你试得怎么样了?Intraweb好像问题多多。如下问题,谢谢:
    用stand alone application设计好后改成ISAPI格式,按帮助只需把
    program Guess—>library Guess;
    IWInitStandAlone->IWInitISAPI但我改后编译提示:
    Format '%1' invalid or incompatible with argument.它Guess例子也是这样,我的例子也只有按钮和编辑两个控件,exe文件没问题。
    ------------------------------------------------------------------
    下面是帮助:
    program Guess;uses
      IWInitStandAlone,  Main in 'Main.pas' {formMain: TIWFormModuleBase},
      ServerController in 'ServerController.pas' {IWServerController: TDataModule};{$R *.res}begin
      IWRun(TFormMain, TIWServerController);
    end.
    Change the program clause to library. 
    Chage IWInitStandAlone in the uses clause to IWInitISAPI.Your project file should now look like this:library Guess;uses
      IWInitISAPI,  Main in 'Main.pas' {formMain: TIWFormModuleBase},
      ServerController in 'ServerController.pas' {IWServerController: TDataModule};{$R *.res}begin
      IWRun(TFormMain, TIWServerController);
    end.
      

  6.   

    TBetterADO的下载地址:
    http://web.orbitel.bg/vassil/我把Access的数据库文件拷贝到那个目录下也不行!其他应该是没有问题的,我生成的例子编译成Exe和Dll都正常的啊,也是和你说的一样改了一下!至于说“Intraweb好像问题多多”,我想好象太早了一点,毕竟我们对它不熟悉!
      

  7.   

    该后从新启动delphi就可以了。
    现在的问题:
    要删除一条记录,删除前弹出对话框让用户确认,确定就删除,
    取消就不删除,不知道如何写?
    WebApplication.ShowMessage();似乎没有这个功能。
      

  8.   

    to xqls(xqls) ,那个书中的那个例子没有问题吗?
      

  9.   

    书中例子要下载第三方控件才能编译,没去用它,看看源码而已。
    Delphi7 自带的intraweb demo已经可以解决大部分问题了。
      

  10.   

    去playicq下载,HUBDOG的例子,
    其实就用它的例子