新建一个Web Snap Application,选择编译成为ISAPI/NSAPI(其它如CGI_Stand或WIN_CGI也行)的,但我们以此为例,把你原来使用Debug成功的文件全部Add,然后编译就可得到可以发布的文件。
一、发布开发好的程序应当把Delphi生成的.html文件和.dll或.exe一同发布,否则会提示相关的文件(.html)无法找到
2、在发布的机器上出现如下错误时
Internal Application Error
Object factory for class TWebResponseWrapper missing 应当使用Delphi的tregsvr.exe(在Bin目录)在目标机器上注册 stdvcl40.tlb和WebBrokerScript.tlb这两个文件
3、使用IIS管理器将保存ISAPI程序的虚拟目录权限改为执行
使用WEB Snap开发的程序在编译成WIN_CGI时总是出错, 但编译成为StdCGI或ISAPI就不会出错,这个我不知道原因。
下面是一些我的个人体会:
1、在创建ASP对象的文件中加入<% On Error Resume Next %>可以让ASP网页执行完而不会因错误停止。这样有利调试当然,这样做如果程序有错误也不会在IE中显示任何错误的提示。
2、当你修改了Project的名称后(MTS开发中),可能会出现如下错误的提示:"progID 错误",这是因为Delphi生成的ASP文件中Set DelphiASPObj = Server.CreateObject("MTSObjTest.MTSObjTest"),中这个字符串MTSObjTest是Project文件名称的原因.当修改了Project名称后对象名称发生了改变的原因
3、当你写的ASP对象(执行在IIS进程中(dllHost.exe))无法释放时,可以重新启动IIS而不是重启机器。
4、目前没有好的方法调试Delphi开发的ASP对象。最好把它的方法在Exe中调试好。
5、microsoft script dubeger 可以在Running Documents窗口中加入需要调试的ASP页面。如果你是在自己的机器上开发,那么可以在IIS管理器中设置“服务器端脚本调试”(详细的信息使用Google搜一下“ASP调试”)但是使用了Response.ReDirect进行过定向的页面则不能加入?!
6、在IE选项的高级中把“显示每个脚本的错误通知”打上勾,“显示友好HTTP错误信息”的勾去掉,否则IE只会提示“服务器内部错误”