So, nu im neuen Jahr hab ich endlich wieder Zeit dazu gefunden.
Ich habe den Code entsprechend geändert, aber nun bekomme ich gar nichts mehr
Code ist so wie du es gesagt hast:
Delphi-Quellcode:
var
ResStr, POST:
string;
StrLen, dwSize: DWORD;
if ECB.lpszQueryString = '
mailto'
then
begin
// Größe aus ECB ermitteln
dwSize := ECB.cbAvailable;
// Größe des Stringpuffers festlegen (+1 wegen Nullterminierung)
SetLength(POST, dwSize+1);
// Puffer mit NUllen füllen
ZeroMemory(@POST[1], dwSize+1);
// Daten lesen
ECB.ReadClient(ECB.ConnID, Pointer(@POST[1]), dwSize);
// Größe an echte Stringlänge anpassen - HTTP sendet normal nur printable ASCII, kein EASCII
SetLength(POST, lstrlen(@POST[1]));
ResStr := POST;
end;
ResStr := Format(
'
HTTP/1.0 200 OK'#13#10'
Content-Type: text/html'#13#10+
'
Content-Length: %d'#13#10'
Content:'#13#10#13#10'
%s',
[Length(ResStr), ResStr]);
StrLen := Length(ResStr);
ECB.dwHTTPStatusCode := 200;
ECB.WriteClient(ECB.ConnID, Pointer(ResStr), StrLen, 0);
Result := HSE_STATUS_SUCCESS;
(Natürlich gekürzt)
Fehlermeldungen gibt es keine mehr. Dann noch, der Vollständigkeit halber, der
HTML-Code:
Code:
<table width="95%" border="0" cellspacing="0" cellpadding="0" align="right">
<tr>
<td>
[img]images/top.jpg[/img]
<div align="center">
<form action="game.dll?mailto" method="post" enctype="text/plain">
<table>
<tr><td align="right">Absender: </td><td><input name="absender" type="text" size="35" maxlength="25"></td></tr>
<tr><td align="right">Betreff: </td><td><input name="betreff" type="text" size="35" maxlength="75"</td></tr>
<tr><td align="right">Nachricht: </td><td><textarea name="nachricht" cols="30" rows="10"></textarea></td></tr>
<tr><td></td><td><input type="submit" class="Button" value="Absenden"></td></tr>
</table>
</form>
</div>
</td>
</tr>
</table>
</td>
Ich kann das echt nicht nachvollziehen, das da nun nichts mehr zurückgeliefert wird. Eine Idee?