v18:4DPop

v17用だと動作しない様なのですが、v18用はまだでしょうか。 :frowning:

同じ問い合わせがこちらにも投稿されていました

https://forums.4d.com/Post/FR/32212876/1/32212935#32212935

Preferences_Get_Pathにv18用のCaseがないのが問題だと指摘されています。

Current Betaにもソースコードは入っていないですね

https://forums.4d.com/Post/JP/30808134/0/0/

お待ちしております。

ところでコンポーネントに自前で作成したv16やv17でコンパイルしたコンポーネントが入っているのですが
普通に動作していますが問題ないのでしょうか?

メインは厳密なバージョンチェックが入って、変換して良いか聞いてきますが
コンポーネント側はあまりチェックされていないのでこの辺りどうなのか気になりました。

はい。

コンポーネントは,ホストより古くても動作すること(仕様)がドキュメントに述べられています。

デザインリファレンス > 4Dファイルの管理 > 以前のバージョンからのデータベースの変換

<https://doc.4d.com/4Dv17R6/4D/17-R6/Converting-databases-from-previous
versions.300-4354865.ja.html>

: doc.4d.com

4D v17 では、v16, v15, v14, v13, v12 あるいは v11
のコンポーネントを、コンパイル済みのものもインタープリタのものも、ダイアログボックスや変換なしに直接開くことができます。コンポーネントは常に
込みのみモードで開かれることに注意してください。コンポーネントの再コンパイルは必要ありませんが、v17 への変換は.4DB
ファイルに関してのみ可能で、.4DC ファイルは変換できません。

ご回答ありがとうございます。

コンポーネントに関しては、廃止されたコマンドなどを使わない限り仕様上OKってことですね。
安心しました。

アナウンスがありました

https://forums.4d.com/Post/FR/32303144/1/32303145#32303145

早速ダウンロードしてみました。
4DPopを含む一部のコンポーネントがプロジェクトモード形式になっていたのですが、
とりあえず4DPopフォルダをそのままComponentsフォルダにコピーしてみました。
コンポーネントを含むストラクチャを開いてみたのですが4DPopが認識しません。

バイナリーモードと違いこちらは一度コンパイルしないとダメなのでしょうか?

プロジェクトモードとコンポーネントの関係ですが

ホストはComponentsフォルダーをサーチし,
同名のファイルには下記の優先順位が適用されます:

ホストがコンパイルモードの場合

1 4DZ / 4DProject (同一順位)
2 4DC
3 4DB

ホストがインタプリターモードの場合

1 4DZ / 4DProject (同一順位)
2 4DB
3 4DC

4DZは,プロジェクトフォルダーの中身をzip圧縮したものです。
つまり,ルートのフォルダーではなく,
Data, Project, Resources等をまとめて圧縮したものになります。

4DZ圧縮は,「パッケージ化」であり,コンパイルとは違います。

中には,ソースコード,コンパイルコード,あるいは両方を含めることができます。

なるほどフォルダの中身を圧縮する必要があったんですね。
早速4DPopフォルダの中身を圧縮して拡張子を4DZにしてみました。

うまく認識できる様になったのですが、エラーがでました。 :frowning:
[]32310186;“Your comment here…”[/]

こちらで試したところ,

.4DZの中にあるResourcesはロードされず,

Components/Resources

に定数ファイル群を置かないとダメのようです。

別の方法として4DZ圧縮せず,4DPop.4DProjectに対するエイリアスを置くこともできます。

https://forums.4d.com/4DBB_Main/x_User/298210/files/32310354.zip

なにかややこしそうですね。おそらく不具合ですよね?

とりあえず正式な対応方法が公開されるまで待ちます。 :doubt:

仕様を確認しました。

4DZは,Projectフォルダーを圧縮したものであり,その他のフォルダーは4DZの外に置くべきなのでした。

複数の4DZファイルがある場合のリソースフォルダの管理はどうなるのでしょうか?
Components/Resourcesなんですよね。
内容の違う同じ名前のファイルが存在した場合にはどうすればよいのでしょうか?

こちらに転送いたしました:

https://forums.4d.com/Post//32310548/1/

転送ありがとうございます。

やっぱり問題ありですよね。 :mrgreen:

そのほか気になったのは

1.4DZでGet 4D folderをコンポーネントで利用した場合にコンポーネント側のリソースフォルダの位置は正しく返ってくるのかどうか
2.folderオブジェクトのパス名指定で"/RESOURCES"が使えますが、コンポーネント側で実行した場合、get 4D folderの様に
ホスト側とコンポーネント側を切り替える方法が提供されていない様に思います。

の2点です。

File, Folder ともに ;* オプションが利用できます。

https://doc.4d.com/4Dv17R6/4D/17-R6/File.301-4311959.ja.html

https://doc.4d.com/4Dv17R6/4D/17-R6/Folder.301-4311960.ja.html

失礼しました。

https://livedoc.4d.com/--17-R6/-/-.300-4312016.ja.html
こちらを見ていたので無いのかなと思ってました。

解決方法がみつかりました。
4DPopフォルダを4DPop.4dbaseとフォルダ名を変更するだけですね。

提供されたものが4Dpopフォルダになっているのが問題です。
わざわざ問題が発生する様に提供しなくてもいいのに… :frowning:

ご指摘のとおりでした。

4DZは,従来の4DBや4DCと同じように,4dbaseの中に置くのだそうです。