如何加入idsmtp到一个soap-cgi-exe程序中去(soap类别)(100分)

A

astart

Unregistered / Unconfirmed
GUEST, unregistred user!
以前写过一个soap 的webapp(com),使用的时候要webappdbg。exe程序支持。
现在想把这个程序改写成为CGI(exe)程序,让iis来支持它。
(主要考虑到程序移植到其他机器上的时候,不可能在机器上装一个delphi吧?)
使用delphi7改写。
这个程序中,我使用了一个idsmtp,用于发送邮件使用。
原先写的webapp,我创建了一个form,把idsmtp放于其上,
在定义的接口函数中调用。
程序运行没有问题。
编写的客户端调用也没有问题。
这次改写的时候,创建有三个unit。
WebModule1,
smailImpl,
smailIntf
我按原来想法,仍创建了一个form,把idsmtp放在上面,在
smailimpl中接口函数调用。。。
然后,编译。。。
报错:不能定义多个data模块。。。
于是,我把idsmtp放在webmodule1上面,
在smailimpl中接口函数调用。。。
编译时候没有出错。。
接着,我编写其client,调用的时候,报内存错误。。。
我看过(艾,看来是没有深看)李维的delphi6的讲soap那本书,
但具体讲cgi exe的片断很少。
所以,不明白问题出在哪里。
我有点怀疑是放在webmodule有问题,因为在webmodule中的idsmtp我没有定义其
host,port,username,password等,而是在单元smailImpl中通过读取一个ini来定义的。
后来,我又换成在smailImpl单元定义,
use idsmtp
接着在
type
idsmtp:Tidsmtp;
这样也不行,虽然编译通过,在iis支持下也可以看到
wdsl的定义。但是,一旦客户端调用其函数就报内存出错。。

请搞过这个兄弟帮我看看,
指点一下,
有这方面的好书也推荐一下。。。
谢谢
 
顶部