안녕하십니까..
저는 현재 델파이4.0 C/S 버전으로 웹서버 애플리케이션을 작성중입니다..
델파이로 ISAPI를 작성하는 것은 이번이 처음입니다..
전에는 ASP를 이용을 하다가 pop3 서비스를 하기 위하여
델파이의 콤포넌트를 이용, 작성하기로 했습니다..
문제는 기본적인 connect 메소드를 사용하여 값을 받아 오는 것은 문제가
없는데요..
제가 아직 완저히 개념을 잡지 못했는지..
다른 이벤트 처리를 해주려고 하니까 조금 막막합니다..
현재의 소스는 다음과 같습니다..
////////////////////////////////////////////////////
procedure TWebModule1.WebModule1WebActionItem1Action(Sender: TObject;
Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
begin
Response.Content := PageProducer1.Content;
end;
procedure TWebModule1.PageProducer1HTMLTag(Sender: TObject; Tag: TTag;
const TagString: String; TagParams: TStrings; var ReplaceText: String);
var
Data : TStrings;
Countstring : String;
UserName : String;
Count : integer;
begin
Data := Request.ContentFields;
NMPOP31.DeleteOnRead := FALSE;
NMPOP31.ReportLevel := Status_Basic;
NMPOP31.TimeOut := 20000;
NMPOP31.Host := Data.Values['Host'];
NMPOP31.Port := 110;
NMPOP31.UserID := Data.Values['TUserName'];
NMPOP31.Password := Data.Values['TPassword'];
NMPOP31.Connect;
Count := NMPOP31.MailCount ;
Countstring := IntToStr(Count);
UserName := Data.Values['TUserName'];
if Count > 0 then
begin
Data.Values['Host'] := UserName + '에게' + Countstring + '개의 편지가 왔습니다';
ReplaceText := Data.Values['Host'];
end
else
begin
Data.Values['Host'] := '당신에게 편지가 오지 않았습니다';
ReplaceText := Data.Values['Host']
end;
end;
end.
//////////////////////////////////////////////
현재는 위와 같은 두개의 프로시져만 두고 있습니다..
그래서 몇개의 편지가 왔는지를 표시해주고 있습니다..
물론 이벤트 처리를 하지 않고 메세지를 보여주는 것도 그리 어렵지는 않은 것 같은데..
만약 연결이 실패한다거나 인증 실패등의 경우에 이벤트를 어디서 어떻게 처리를 해 주어야 하는지요.
그냥 애플리케이션을 작성하듯이 하나의 프로시져를 생성하면 되는 것인지..
물론 이 질문을 드리고 해보겠지만 아시는 분이 계시면 가르쳐 주시면
정말 고맙겠습니다..
읽어주셔서 감사합니다..
|