【发布时间】:2014-06-28 03:30:33
【问题描述】:
我正在制作一个 Delphi XE5 VCL 表单应用程序,主表单上有一个 TIdHTTPServer,IdHTTPServer 过程中有一个 CommandGet:
procedure TForm1.IdHTTPServerCommandGet(AContext: TIdContext;
ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo);
var pageContent: TStringList;
begin
if pos('profile&userName=', ARequestInfo.UnparsedParams) > 0 then
begin
pageContent:= TStringList.Create;
try
pageContent.Add('<html>');
pageContent.Add('<head>');
pageContent.Add('<title>Profile</title>');
pageContent.Add('</head>');
pageContent.Add('<body>');
pageContent.Add('<h1>Profile<h1>');
pageContent.Add
('<input id="subjects" value="Subjects" type="button"/>');
pageContent.Add('<div id="table-content">');
pageContent.Add('</div>');
pageContent.Add('</body>');
pageContent.Add('</html>');
AResponseInfo.ContentText := pageContent.Text;
finally
pageContent.Free;
end;
end;
end;
我想要做的是当用户单击按钮“Subjects”来调用这个函数,该函数会生成一个包含学生课程和分数的 HTML 表格。该函数从数据库中读取数据并生成一个表。我想避免重新加载整个页面(我尝试在 div 标签中插入表格)。
【问题讨论】:
-
您的代码正在泄漏内存:确保在不再需要时调用
pageContent.Free。 -
@ArnaudBouchez:谢谢,刚刚修好了