プロジェクトZ〜開発者たち〜
[61:名犬ナナッシー(2003/03/23(日) 03:57)]
Del6personalでホットゾヌ2をコンパイル出来ました。
ただ、割と適当に変更してるので、ちゃんと動作するかは分からないっす。
とりあえず以下のような事をしました。
・各種コンポーネントをインストール
TMenuBarは
ttp://www.borland.co.jp/qanda/delphi/d0009472.html
からダウンロードしました。
・ICSのHTTPProt.pasをcomponentsフォルダ内のHTTPProt.pasを見ながら書き換える。
ICSのバージョンが違うために、いくつかエラーが出たので
それに合わせてプロパティを書き足したので、
同じバージョンのICSを用意した方がいいです。
・usesのShDocVwとMSHTMLをそれぞれShDocVw_TLBとMSHTML_TLBに変更
・ActnMenusをUsesからコメントアウト
.ソースを以下のように変更
Hzbfunc.pasの844行目あたり
var
OLD_VALUE : boolean = True;
procedure SetActionEnabled(AEnabled: boolean);
Main.pasの10606行目あたり
var
CHECKED: boolean = False;
procedure THotzonuWindow.DownloadZonuVersion;
どういう役割を持つ変数なのか確かめてないので、
これで問題ないかは謎。
・関数のHTTPEncode,ExtractHTTPFields,DosPathToUnixPathの代わりが必要なので用意する。
とりあえず俺はHTTPEncodeの代わりはJaneのHTTPSub.pasのURLEncodeを使って、
ExtractHTTPFieldsを使ってる部分はそれぞれ前後のソース見ながら書き換えました。
MonaUtils.pasの
1630行目あたり
S : string;
begin
S := Url;
List := TStringList.Create;
S := StringReplace(S, '?', #10, [rfReplaceAll]);
S := StringReplace(S, '&', #10, [rfReplaceAll]);
List.Text := S;
1700行目あたり
b := StringReplace(b, '/', #10, [rfReplaceAll]);
l.Text := b;
で、DosPathToUnixPathの代わりの関数は自分で用意してHTTPSub.pasに書き足しました。
function YenToSlash(const Path: string): string;
begin
Result := StringReplace(Path, '\', '/', [rfReplaceAll]);
end;
そしてソース内のHTTPEncodeとDosPathToUnixPathをURLEncodeとYenToSlashに変更。
・UsesのHTTPAppを全部HTTPSubに変更。
何か忘れてるような気もするけど、だいたいこんな感じで一応コンパイル出来るはずです。
read.cgi ver4.20.02 +◆6j.hq/hAO6+α