| タイトル | : Re^2: ソースコードの扱いについて | | 記事No | : 5255 [関連記事] |
| 投稿日 | : 2026/06/07(Sun) 16:20 |
| 投稿者 | : o |
>AI の学習用に PPx のソースを使うのは、ソースの大部分をそのまま >使うことにはならないと思いますので問題ないです。 >逆に、うまく活用できたかどうかを教えてもらえるとうれしいです。 回答ありがとうございます 以前unzzip.dllの質問の時ちらっと出したのですがannsFMのソースをAIに渡して改造中です 作者さんの許可をもらい改造、公開しました 次に仮想ディレクトリ機能が欲しいと思い尋ねるとかなり大規模になりそうだったので PPx のソースを渡してみたらかなり短縮出来そうです 無料プランなので1日制限がきてまだソース出力までいけてないです
Paper Plane xUIのソースコードを添付 参考にしてもう一度案をだして
まずPaper Plane xUIのソースを確認します。PPxのVFS構造が完全に把握できました。これで設計案を作成できます。
---
## annsFM 仮想ディレクトリ機能 実装設計案
### PPxとの比較から判明したこと
PPxのVFS層は7,000行以上の独立したサブシステムですが、annsFMにはすでに: - 書庫DLL(UNLHA32/UNZIP32/TAR32等)の **展開処理** が `FileView.cpp` に存在 - 書庫Susie SPI(00VN型)の **表示処理** が `annsGView.cpp`(`GetArcFileSPI`)に存在
つまり **APIの呼び出し方は既にある**。足りないのは「書庫内一覧をファイルリストとして扱う状態管理」です。
---
### 設計:最小構成で最大効果
``` 既存コード再利用率: 約60% 新規追加コード推定: 約3,500行 修正対象ファイル: 7ファイル 新規ファイル: 4ファイル ```
---
### 新規ファイル (4つ)
#### 1. `ArchiveIF.h / ArchiveIF.cpp` — 書庫DLL共通インターフェース
PPxの `UN_DLL` 構造体に相当。統合アーカイバAPI(OpenArchive/FindFirst/FindNext/CloseArchive)と書庫SPI(GetArchiveInfo/GetFile)の両方を統一した薄いラッパー層。
主要API: ```cpp class CArchiveIF { bool Open(HWND hWnd, LPCTSTR szFile); // OpenArchive bool FindFirst(INDIVIDUALINFO* info); // FindFirst bool FindNext(INDIVIDUALINFO* info); // FindNext void Close(); // CloseArchive bool Extract(LPCTSTR entry, LPCTSTR dest); // 一時展開 int GetDllPriority(LPCTSTR ext); // 優先度判定 }; ```
まだまだ続きます
|