Haruyuki Mohri Blog(Delphi)

毛利春幸のブログ

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
  1. --/--/--(--) --:--:--|
  2. スポンサー広告

Apache2.2 でDelphi2010 TWebModule使うとPOSTが取れない

Delphi2010 のTWebModuleを使ったCGIアプリケーションを作成する場合
<form method="post">の内容が取得できない
s := Request.ContentFields.Values['***'];
sが空になる

これはDELPHIのライブラリ内CGIHTTP.pasのバグみたい
修正箇所
--------------
function TCGIRequest.GetFieldByName(const Name: AnsiString): AnsiString;

function AdjustHTTP(const Name: AnsiString): AnsiString;
const
SHttp = AnsiString('HTTP_'); { do not localize }
begin
//ここコメントアウトif AnsiStrPos(PAnsiChar(SHttp), PAnsiChar(Name)) = PAnsiChar(Name) then
if AnsiStrPos(PAnsiChar(Name),PAnsiChar(SHttp)) = PAnsiChar(Name) then
//↑これ追記
Result := Copy(Name, 6, MaxInt)
else
Result := SHttp + Name;
end;
--------------
でCGIHTTP.pasをコンパイルすると CGIHTTP.dcu が出来るのでパスの効く場所にコピーする
標準インストールなら「C:\Program Files\Embarcadero\RAD Studio\7.0\lib」←ここにコピー

※この作業前にRADStudio2010のUpdate4, Update5は終わらせておく事が必要

スポンサーサイト

テーマ:プログラミング - ジャンル:コンピュータ

  1. 2011/06/30(木) 14:30:57|
  2. Delphi 2010

Profile

Twitter...

最近の記事

ブログ内検索

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。