[リストへもどる]
一括表示

タイトルソースコードの扱いについて
記事No5249
投稿日: 2026/06/06(Sat) 14:55
投稿者o
どうも世話になってます
ソースコードの扱いについて質問
プログラミング素人ですがソースを生成AI Claudeに渡して
古いファイラーを改造中です
付けたい機能があってPaper Plane xUIのソースコードを参考にしたいのですが
かまわないでしょうか?
生成AIにソースを丸投げでこんな機能が付けれるか聞くだけなので
実際に使われるかどうか分からないのですが


タイトルRe: ソースコードの扱いについて
記事No5252
投稿日: 2026/06/07(Sun) 15:05
投稿者TORO
AI の学習用に PPx のソースを使うのは、ソースの大部分をそのまま
使うことにはならないと思いますので問題ないです。

逆に、うまく活用できたかどうかを教えてもらえるとうれしいです。


タイトルRe^2: ソースコードの扱いについて
記事No5255
投稿日: 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); // 優先度判定
};
```

まだまだ続きます


タイトルRe^3: ソースコードの扱いについて
記事No5256
投稿日: 2026/06/07(Sun) 23:35
投稿者TORO
結果ありがとうございます。
一覧表示まではいけそうな結果ですね。

今後は一覧表示から選択して展開とか、ディレクトリありファイルとかの
展開とかの各機能の追加指示が必要になりそうな印象でした。


タイトルRe^4: ソースコードの扱いについて
記事No5265
投稿日: 2026/06/13(Sat) 16:04
投稿者o
どうも世話になってます
なんとか仮想ディレクトリに入れました
コマンドも画像表示、テキスト表示、解凍などほとんどの機能が動きました
ただ、書庫dllでは機能するが書庫Susie plug-inでは入れない
リネームと追加圧縮と削除が機能しない(書庫内が変わるのがダメみたい、一時展開_vdirtmpを使ってるのですが...)
など課題は多いです特に書庫Susie plug-inをずっと修正してますが今の所原因が分からないです
参考画像 imgur.com/hztQOXd
画像はppx209s.7z内に入った所とオプション画面
取り敢えずもう少し試してダメだったら
悪化する前にその機能は諦めて
書庫dllに7zca.dllを加えてみたいと思います


タイトルRe^5: ソースコードの扱いについて
記事No5268
投稿日: 2026/06/13(Sat) 23:21
投稿者TORO
仮想ディレクトリ内での削除と名前変更は一部の DLL のみ対応ですし、
PPx では未実装です。

Susie の方は、結構実装が大変なので難しいかもしれませんね。


タイトルRe^6: ソースコードの扱いについて
記事No5272
投稿日: 2026/06/17(Wed) 10:40
投稿者o
回答ありがとうございます
>Susie の方は、結構実装が大変なので難しいかもしれませんね
この件は一旦保留して

annsFMで7zca.dllの対応してみましたが
圧縮ファイルの解凍[7zca.dll]を追加 (I)
.tgz/.gz/.tar.gzなどが解凍できない(.tar/.zip/.7zなどはできる)
7zca.dllで仮想ディレクトリに入れない

AIに以下の回答をもらいました合ってるのでしょうか
### 1. `Test.tgz` や `画像.gz` が「書庫ではありません」になる理由
* **原因:** `7zca.dll` はTORO氏が `7z.dll` を統合アーカイバ仕様で動かすために作成した「実験的なラッパー(試作品)」です。`.zip` や `.tar` のような「標準的な書庫」の解凍コマンドは機能しますが、`.gz` のような「単一ファイルの圧縮ストリーム」や、それが組み合わさった `.tgz` (`.tar.gz`) をコマンド処理に渡すと、内部処理が対応しきれずにエラー(非ゼロ)を返してしまいます。
### 2. 仮想ディレクトリで `7zca.dll` ではなく `tar32.dll` に切り替わる理由
* **原因:** 仮想ディレクトリ機能で書庫の中身を覗くには、DLL内部の `OpenArchive` や `FindFirst` といった**書庫内検索専用のAPI**が完璧に機能する必要があります。
* `7zca.dll` にもこのAPI自体は用意されていますが、試作品であるため、ファイルのリストアップ処理(特定の拡張子やワイルドカードの処理)に不具合を抱えており、プログラムが「中身が0件」または「エラー」と判定してしまいます。


タイトルRe^7: ソースコードの扱いについて
記事No5274
投稿日: 2026/06/20(Sat) 21:46
投稿者TORO
確認したところ、現在のバージョンである 0.7 では、gzip, bzip2関係
(gz, tgz, bz2 等)を無効化していました。

展開したときのファイルが tar の状態だったり、ファイル名が付かな
かったりするため、一度無効にしたのを忘れていました。

これらは一旦対応外として扱ってもらえませんか。


タイトルRe^8: ソースコードの扱いについて
記事No5277
投稿日: 2026/06/20(Sat) 23:57
投稿者o
回答ありがとうございます
現在のバージョンは0.7では無く0.6ですか?
確かに0.5にすると動作しました
元々tar系はtar32.dllを優先度1番7-zip32.dllを2番に設定して
7zca.dllは試しに対応してみただけなので
こちらのバグじゃ無いことが分かれば問題ないです
ちなみに
仮想ディレクトリと解凍コマンドで以下でした
.tar
は 問題無しと一部?????.txt _____.txt
.tar.gz
.tbz
.tbz2
.tgz
.tar.bz2
.tar.xz
.bz2
は ファイル名が[Content]
.zip
.7z
.cab
.lzh
.gz
は 問題無し