QGrid 1.5b2 リリース・ダウンロード

QGrid 1.5b2 ダウンロード開始!

4D 2004 以上対応

OSX (PPC+Intel) + XP 異常対応

アップグレード受付開始

QMedia 1.5b4 リリース・ダウンロード

QMedia 1.5b4 ダウンロード開始!

4D 2004 以上対応

OSX (PPC+Intel) + XP 異常対応

アップグレード受付開始

QPix 3.5b5 リリース・ダウンロード

QPix 3.5b5 ダウンロード開始!

4D 2004 以上対応

OSX (PPC+Intel) + XP 異常対応

アップグレード受付開始

Escape社プラグインのバージョンアップについて

Escape社のプラグイン、QPix, QDrop, QMedia などは間もなくバージョンアップします。

今、バージョンアップの為のホームページ更新を準備しています。

DisplayList 販売中止

4D のバージョンアップ v.11 もありまして、プラグインの整理を行います。実際、対応していない、又は人気がない商品を販売中止になります。

第2の販売中止商品は「DisplayList」です。

この商品は結構 AreaList Pro に似すぎて、あまり興味を持っている人はいなかったのです。

それでは、「DisplayList」さようなら!

DataPulse 販売中止

4D のバージョンアップ v.11 もありまして、プラグインの整理を行います。実際、対応していない、又は人気がない商品を販売中止になります。

第一の販売中止商品は「DataPulse」です。

この商品はプラグインよりも、ストラクチャ設計ツールでした。こちらも何回かのプロジェクトを使っていましたので、結構便利だったのですが、
4Dの開発では前もって設計を行っている人は殆どなく、その場でストラクチャを変更している人が多いのが聞いています。

それでは、「DataPulse」さようなら!

JExternal と 4D v11

4D V11 Release 2 JExternalを使用する場合には、少々注意が必要ですので、お知らせいたします。
なお、V11 Release 24D Serverでは、4D Client4Dに統合されるなどいろいろと変更がありますが、JbyJJExternalに関しては、これまでと同様に使用することができます。
---------------------------------------

JExternalを使用して、Javaメソッドを呼ぶ場合、通常次のようなコードを記述します(Javaint型の引数を1つ取るstaticメソッドを呼ぶ例)

C_LONGINT($Err)
C_STRING(30; $ClassName)
C_STRING(30; $MethodName)
C_LONGINT(vParamLongInt)
`
$ClassName:="com.myCompany.Test"
$MethodName:="theStaticMethod"
vParamLongInt:=100
`
ARRAY POINTER(aParameters;1)
aParameters{1}:=->vParamLongInt
$Err:=JEX Call class method ($ClassName; $MethodName; aParameters)

このように記述していてば、4D V11 Release 2でも問題ありません。
しかし、直接プラグインメソッドを記述せず、より一般化するために、次のように最後の行を別メソッドにすることもよく用いられる手法です:

$Err:=CallJavaMethod ($ClassName; $MethodName;->aParameters)

4D V6 から 4D V11 Release 1までは、CallJavaMethodメソッドは、次のようなコードでOKでした:

` CallJavaMethodのコード
C_LONGINT($0)  `Error code
C_STRING(30;$1)  `クラス名
C_STRING(30;$2)  `メソッド名
C_POINTER($3)  `aParameters sへのポインタ
 `
$0:=JEX Call class method ($1;$2;$3->)

ところが、4D V11 Release 2では、これがエラー(エラー番号:-17005)となります。JEX Call class methodの第3引数には、ポインタ配列が必要ですが、4Dからプラグインには、第3引数がREAL型となって渡されてしまうためです。下記の4D iNUGのメールのように、他のプラグインでも同様の問題が発生しています:

http://article.gmane.org/gmane.comp.lang.inug-4d.tech/75054/match=v11.2+pointer

4D V11 Release 2に付属する最新のプラグインSDKを使用して、テストプラグインを作成してテストしてみたのですが、結果は同じでした。これは、4D V11 Release 2のバグと思われます。4D V11 Release 3以降のバージョンで、この問題が解決されることを期待しますが、とりあえずの対処法を紹介します。上記のコードに次の2行を追加し、最後の行を少し変更すると、このバグから逃れられます:

` CallJavaMethodのコード
C_LONGINT($0)  `Error code
C_STRING(30;$1)  `クラス名
C_STRING(30;$2)  `メソッド名
C_POINTER($3)  `aParametersへのポインタ
`
C_POINTER($Pointer)  `追加
$Pointer:=$3 `追加
`
$0:=JEX Call class method ($1;$2;$Pointer->) `$3->$Pointer->に変更

つまり、パラメタがC_POINTER型の場合、プラグインメソッドに直接渡さず、一度変数に代入してから、プラグインメソッドに渡せば、このバグから逃れられるということです。


4D V11用のJExternalのデモでは、この問題の影響を受けることはありませんでしたが、JExternal を使用しているJbyJのデモでは、このバグのため、V11 Release 2を使用した場合、正しく動作できなくなってしまいました。そこで、上記のように追加/変更して、8月11日に再アップロードしました。

サーバと開発マシンその後

前回の問題の続き

やっと、全部復帰したと思ったのですが、実際約1週間後にはディスプレイが真っ黒です。
何をしても真っ黒でした。

...

嫌な予感はしたのですが、一応アップルセンターに持っていった。アップルの技術者(友達)がこれは
見たことがない。マシンは正常に動作しているのに、内部ディスプレイも外部ディスプレイの信号がない。

三日程待って、ロジックボードの交換です。運良くアップルケアには加入しているので、安心!!!

ロジックボード交換完了と思ったら.... (泣く)

※ タイムマシン・バックアップを最初からやる必要がある
※ iTunesのアカウントが1個消えた
※ iPhone, iPod, AppleTV の全部再同期
※ 多数のアプリケーションを再インストール
※ 多数のアプリケーションを再インストール不可(なぜならMACアドレス変更のため)
...

目が点になりました

やっと、すべて復帰したと思ったら、ディスプレイが真っ黒... 何でだね...

...
...

再度ロジックボード交換...

もう一回、全部設定し直す...

やっと、今週月曜日にはすべて完了した!!!

でも、毎日ディスプレイが心配で...


今回、タイムマシンの為にハードディスクを購入しました。

凄くいいです。2TB の
Drobo です。