| 117 |
var |
var |
| 118 |
protocol, host, path, document, port, bookmark : string; |
protocol, host, path, document, port, bookmark : string; |
| 119 |
BBSID{, BBSKey} : string; |
BBSID{, BBSKey} : string; |
| 120 |
tmpURL : string; |
tmpURL, boardURL : string; |
| 121 |
// category : TCategory; |
// category : TCategory; |
| 122 |
|
i, bi: Integer; |
| 123 |
|
tmpThread: TThreadItem; |
| 124 |
|
tmpBoard: TBoard; |
| 125 |
begin |
begin |
| 126 |
|
|
| 127 |
if FItem = nil then begin |
if FItem = nil then begin |
| 128 |
FItem := BBSsFindBoardFromURL( URL ); |
FItem := BBSsFindBoardFromURL( URL ); |
| 129 |
if FItem = nil then begin |
if FItem = nil then begin |
| 130 |
|
//===== プラグイン |
| 131 |
|
try |
| 132 |
|
//作業中// |
| 133 |
|
bi := High( BoardPlugIns ); |
| 134 |
|
for i := Low( BoardPlugIns ) to bi do begin |
| 135 |
|
if Assigned( Pointer( BoardPlugIns[ i ].Module ) ) then begin |
| 136 |
|
case BoardPlugIns[ i ].AcceptURL( URL ) of |
| 137 |
|
atThread: |
| 138 |
|
begin |
| 139 |
|
tmpThread := TThreadItem.Create( BoardPlugIns[ i ], URL ); |
| 140 |
|
boardURL := tmpThread.BoardPlugIn.GetBoardURL( DWORD( tmpThread ) ); |
| 141 |
|
FItem := BBSsFindBoardFromURL( boardURL ); |
| 142 |
|
URL := FItem.URL; |
| 143 |
|
tmpThread.Free; |
| 144 |
|
break; |
| 145 |
|
end; |
| 146 |
|
atBoard: |
| 147 |
|
begin |
| 148 |
|
tmpBoard := TBoard.Create(BoardPlugIns[ i ], URL); |
| 149 |
|
FItem := BBSsFindBoardFromURL( tmpBoard.URL ); |
| 150 |
|
tmpBoard.Free; |
| 151 |
|
if FItem <> nil then begin |
| 152 |
|
URL := FItem.URL; |
| 153 |
|
end; |
| 154 |
|
break; |
| 155 |
|
end; |
| 156 |
|
end; |
| 157 |
|
end; |
| 158 |
|
end; |
| 159 |
|
except |
| 160 |
|
// exception が発生した場合は内部処理に任せたいのでここでは何もしない |
| 161 |
|
end; |
| 162 |
|
end; |
| 163 |
|
if FItem = nil then begin |
| 164 |
tmpURL := URL; |
tmpURL := URL; |
| 165 |
GikoSys.ParseURI( tmpURL, protocol, host, path, document, port, bookmark ); |
GikoSys.ParseURI( tmpURL, protocol, host, path, document, port, bookmark ); |
| 166 |
if GikoSys.Is2chHost( host ) then begin |
if GikoSys.Is2chHost( host ) then begin |