
既に判明している問題 − Curl IDE 5.0
内容
インストーラ
サイレントインストーラがスタートメニュ-のショットカット作成にエラーを起こす場合があります。
コンピュータのロケール選択の際、現在のホストロケールと異なるロケールを選択している状態で前回のインストール作業が行われた場合、Curl RTEまたはCurl IDEのアップグレードまたはアンインストールが失敗します。典型的な例は、ロケール設定で日本語を選択しているコンピュータでCurl RTEをインストールし、ロケール設定を英語(英国または米国)に変更してからアンインストールまたはアップグレードを行った場合です。このエラーが起きた場合、コマンドウインドウに以下のようなメッセージが現れます。
Throwing unexpected:
ExistingFileException: Failed to create directory
'file:///c:/Documents and Settings/All Users/Start Menu/Programs/Curl RTE': Cannot create a file when that file already exists (183)
*** Error encountered: ExistingFileException:
Failed to create directory 'file:///c:/Documents and Settings/All Users/Start Menu/Programs/Curl RTE': Cannot create a file when that file already exists (183)
+------------------------------------------------+
| To dismiss this window, press the 'enter' key. |
+------------------------------------------------+
回避方法:以下の手順でこの問題が回避されます。
@[スタート]> [コントロールパネル] > [地域と言語のオプション]に進み、初回のインストールが行われたときのロケールに設定を戻してください。
A次に、全てのCurl RTE/Curl IDEをアンインストールしてください。
B次に、希望するロケールを設定してください。
C再インストールします。
Curl RTE /IDEのインストールまたはアンインストールの際は、ロケールの設定は統一されていなければなりません。
Curl RTEが置換わった後に、 Surge Labのインストールをキャンセルすると、古いIDEが削除されます。
Curl IDE 4.0 のインストール時に、CurlRTE4.0の置換またはアップグレードが必要となる時があります。Curl RTEインストーラはCurl IDEが置換されようとしていることを”認識”している場合に、既存のCurlIDEを削除します。しかし、Curl IDEのインストールの途中にキャンセルをした場合、新しいCurl IDEはインストールされず、以前に存在していたCurl IDEは復元されません。
この問題はサイレントインストーラーならば発生することはありません(キャンセルが不可能なため)。この問題は、ユーザーがCurl RTE 4.0とCurl IRE 4.0のベータ版を持っている状態で、実際にリリースされたCurl IDE 4.0のインストールを行った際に起きます。また、Curl IDEを最新のバージョンにアップグレードし、Curl RTEに追加のアップグレードを行った場合にも同様の問題が起きます。
回避方法:Curl IDE 4.0のインストーラーが、互換性のあるCurl RTEを要求しているダイアログを表示した場合、そのダイアログ、またはCurl RTEのインストールを継続しているダイアログからCurl RTEのインストールをキャンセルしてください。
注意:Curl IDEがインストールされようとしている内容のダイアログの表示を待たずにキャンセルしてください。
Curl IDEのインストールをキャンセルした場合、
?Curl RTE4.0 をアンインストールしてください。
?以前のバージョンのCurl IDE で再インストールしてください。
SuSE 8.2/KDEにSurge 4.0が正常にインストールできません(openssl dep)。
Linux SuSE 8.2のディストリビューションでは、Surge 4.0がインストール、実行できません。
回避方法:ありません。SuSE 8.2/KDEとSurge 4.0では互換性のないバージョンの libcrypto.soが必要だからです。
FireFox上ではプラグインがキャッシュされますが、Surgeがインストールされたときに、CurlのプラグインがFireFoxに検知されません。
FireFox または Mozilla ブラウザでJavaを使用不可した状態では、 FireFoxは新しいプラグインを検知しません。
回避方法:これはFireFoxまたはMozilla の機能の問題です。
この問題を回避する為に、次のいずれの方法で対応してください:
・FireFox又はMozillaのアドレス欄に about:plugins と入力し、Enterキーを押すと、プラグインリストが更新されます。
・FireFox又はMozillaのユーザ設定ダイアログでJAVAを使用可に設定する
・FireFox/Mozillaの新しいバージョンにアップグレードする。FireFox 1.0.5、Mozilla 1.8 から該当バグがフィックスされた。
FireFox/Mozillaのこのバグに関する情報は次のリソースを参照してください:
https://bugzilla.mozilla.org/show_bug.cgi?id=273785
Linux RTEインストーラが余計なIDEメニューへのショートカットを作成します
CurlIDEがインストールされていない状態でも、Linux RTEが勝手にCurlIDEのショートカットを作成してしまいます。
回避方法:ありません。ショートカットがコンピュータに深刻な問題を与えることはありません。ショートカットをクリックした場合はダイアログが表示されます。
(Linux)IDEをスタートメニューで見るためには再ログインが必要です。
Gnomeを動いているLinux上では、Curlの開発環境をインストールした直後にスタートメニューにCurl IDEが表示されません。
回避方法:一度ログアウトしてから再ログインを行うと表示されます。
インストーラーがDirectXのバージョンを正しく検出しない問題
Curl RTEは、グラフィックAPIを正しく動作させるために7.0以降のバージョンのMicrosoft DirectXを必要とします。Surge RTEのインストーラーは、インストールされているDirectXのバージョン検出を行います。7.0以降のバージョンのDirectXをお持ちでない場合は、最新バージョンのDirectXをMicrosoftのWebサイトから入手してください。
Curl Incは、Microsoft Windows 98SE をお使いで、DirectXのバージョンが古い場合に、Surge RTEのインストーラーが動作しないという報告を受けています。Surge RTEのインストーラーは、Microsoftのガイドラインに沿って、DirectXのバージョンを正しく判定しています。また我々のテストラボでは、今までこの問題を再現することが出来ませんでした。
回避方法:
Curl
RTEをインストールする前に、最新のDirectXをインストールしてください。
KDEでは(Linux)IDEスタートメニューが作成されません。
KDEで動作するLinuxのバージョンによっては、Curl RTE、Curl IDEのスタートメニューが作成されないことがあります。
回避方法:コマンドライン上でCurlアプリケーションを起動して下さい。
Curl RTE => /opt/curl/surge/6/surge
Curl IDE => /opt/curl/surge/6/surge-lab
注意:複数のサブディレクトリが存在する場合、最新のIDEのディレクトリをコマンドラインに記述してください。例:ver.5 と ver4が存在する場合は、/opt/curl/surge/6/surgeと記述してください。
GUIとグラフィックス
Landscape Mode(横印刷)ではページのフッターの部分が全て印刷されません。
日本語版のLinuxでは、ひらがな、カタカナ、漢字を使用している右下のフッターの部分は3分の1のサイズで印刷されてしまいます。Landscape Mode(横印刷)で印刷を行う場合、ページ番号のみ、または3分の1サイズのフッターのみが印刷されます。
デフォルトのDrawオペレーションが変更されてしまいました。
Renderer2dのデフォルトのDrawOperationがソースからマスクに変更されました。with-render-properties経由でDrawOperationを使用しない場合、この変更はRenderer2dインタフェースを直接使用して自分のレンダリングを行っているアプレットに影響を与える可能性を持っています。以前のバージョンでは、デフォルトの振る舞いは透明度が無視されていましたが、今回のバージョンでのデフォールトの振舞いは、PixmapエレメントやFillPatternの透明度設定によって行われます。
前のバージョンの振る舞いで描画処理を行いたい場合、次のようなコードでラップして、コーディングしてください:
{with-render-properties draw-operation =
DrawOperation.source on renderer2d do
[your drawing code here]
}
(Linux) トレードマークシンボルに下線を引いた場合に起こる問題
一部のLinuxシステム上では、トレードマークシンボルに下線が引かれた場合、下線の位置が隣接する文字と比較されてオフセットされます。
DrawableGraphic.occlusion-performance-modeの制限
DrawableGraphic.occlusion-performance-modeは
”high-performance”、”accurate-occlusion”、”best-effort”の3つの設定が可能です。
現在は、”best-effort”と”high-performードは同じものです。アプレットが他のグラフィカルオブジェクトでDrawableGraphicオブジェクトをオーバーラップすることを要求した場合は、”accurate-oclusion”モードを明示的に指定してください。
テーブルセルでの特別なイベント処理
通常、グラフィカルオブジェクトにbackgroundを設定した場合、そのbackgroundは可視的な設定であれば、ポインターイベントを受け取ります。
しかしテーブルセルにbackgroundを設定したときは別です(例えば、{cell-prototype, background = red, …}と記述した場合)。
テーブルセルは技術的にGraphicでないので、その振る舞いはグラフィックオブジェクトとの一貫性が失ってしまう。
回避方法:テーブルセルの中にFrameなどのグラフィックオブジェクトを挿入し、backgroundを設定すること。
(テーブルセルを全てFrameで埋めるために、フレームの高さや幅を指定する時に、{add-stretch}を使用してください。)
ListBox内でのダブルクリックに関する説明
ListBoxでのダブルクリックは、たとえアイテムが一つも選択されていなくても、Actionイベントを発生させます。
これは、ListBoxのActionイベントハンドラは、ListBox.valueがnon-nullであると見なさない事を意味しています。
推奨:enabled?=false と visible?=falseを同時に使用してください。
コントロールが目に見えない場合でも、フォーカスを取得することは可能です。これはenabled?=falseとvisible?=falseを同時に使用することで回避可能です。
BasicConnectedRecordSetは空文字をnullに変換します
ConnectedRecordSetの中では、nullの値が認められているcolumnでの空文字はレコードセットがコミットされるときにnullに変換されます。これは特殊なケースであり、より厳密にテーブルの定義を行うことで回避されます。(特にnon-nullの強制の定義)
イタリックの文字が欠けることがあります。
どの文字もテキストレイアウトに妥当な境界ボックスを持っていて、描画処理に妥当な境界ボックスも持ってるかもしれません。SurgeR RTEは、これらの場合、Layoutボックスを使います。その結果、最初または最後の文字が僅かに欠ける時があります。同じ現象が殆どのWebブラウザで時々見られます。
ディレクトリを検索する際のファイル名は、大文字小文字を区別します。
ディレクトリを検索する為にIDEの検索ダイアログを使用する時に、探すファイル名に正規表現を使うことが出来ます。Windowsでは、この正規表現検索は、大文字小文字を区別しません。例えば、"*.h"というパターンは、"WINERROR.H"ファイルにマッチします。
透明 Background と ポインターイベントの伝播
オブジェクトのバックグランドが設定された場合、不透明だと考えられます。これは透明なバックグラウンドを持っているオブジェクトの裏にほかのオブジェクトが見えても、ポインターイベントが前面のオブジェクトに止められることを意味します。
回避策:前面のオブジェクトのバックグランドを、”transparent”にsetする代わりに、unsetします。
Linux上でのモーダル・ダイアログ
Linuxでモーダル・ダイアログは、システムの仕様によって親windowをdisableにしませんが、それらのダイアログはモーダル・ダイアログとして、機能します。
Windows XPでATI 3d Rage Proカードを使用している場合に起こる不明瞭なグラフィック表示の問題
ごく稀にグラフィックの表示が不明瞭になる時があります。ATI 3d Rage ProカードがWindows XPで使用されている場合に、この問題が起きることが確認されています。ほとんどの場合、製造元のサイトから最新版のドライバをインストールすることでこの問題は解決されます。
TextShapeで負の尺度を使用するとレンダリングが正しく行われません。
TextShapeで負の尺度を使用すると、本来テキストは反転したイメージでレンダリングされるのですが、現在この動作が正しく行われません。この問題に対する回避方法は現在ありません。
QuickTestにおける右クリックメニューからのPlayBack機能は実装されていません。
Mercury QuickTestで右クリックを使用した際、正しくPlayBackが行われません。しかし、多くの場合メインメニューやキーボードのショートカットからPlayBack機能を使用することができます。
アプレットのローディングが完了するまではQuickTestのPlayBackは使用できません。
QuickTestのPlayBack機能はアプレットのローディングが完全に終了するまで使用できません。これはアプレットがローディング時にダイアログを表示している場合に、QuickTestのダイアログが使用できないことが理由です。回避方法として、{after 0s do}を使用して読み込み時のダイアログをポップアップさせてください。このコードによって、アプレットが完全にローディングされるまで、コードの実行を遅らせることが出来ます。
QTPでは、GroupBoxのラベルはControlを記述する為に使用されます。
QTPのtest-name(テスト名)とCurlのtest-nameプロパティが対応していない場合があります。コントロールに対し、Curlのtest-nameがあれば、それがQTPのtest-nameになりますが、ない場合は、コントロールの説明がQTPのtest-nameになります。
またコントロールの多くは内部的に説明があるわけではありません(例えばボタンラベルのように)。その為コントロールは自分自身よりも先にラベルを参照し、それを説明として使用します。よってGroupBox内の最初のコントロールはその説明にGroupBoxのラベルを使用してしまいます。回避方法として、このコントロールに対しCurlのコードの中でtest-nameを与えてください。
Surge Lab IDE, VLE, ドキュメント
ソースエディタからコードをプリントアウトすると右端が切れてしまう場合があります。
ソースエディタからソースコードをプリントアウトする際、画面の範囲よりも長いコードは右端でカットされ、見えている範囲のみが印刷されます。カットされる範囲は、フォントやお使いのプリンターによって異なります。回避策として、適切な横幅の範囲内でのコーディングをお勧めします。また必要であれば、横印刷でソースをプリントアウトすることをお勧めします。
文字コードが正しくない場合、ファイルのチェックアウトが出来ない場合があります。
正しくない文字コードを持っているファイルがソースコードリポジトリにチェックインされて、IDEがそのファイルをチェックアウトして編集しようとするときに、この操作が正しく行われないかもしれません。
回避策: IDEで編集する前に、IDE以外のツールでそのファイルをチェックアウトする。
不完全なファイルをデバッグする際に起こるエラー
HTTPのURLからロードされたアプレットの最上段にブレイクポイントを設定した場合、ブレイクポイントまで到達した時にファイルは部分的にしか表示されません。
回避方法:HTTPサーバからファイルをデバッグする際は、IDEのサーバーマッピング機能を使用してください。IDEで、「編集」 → Preferences(選択) → General tab →Enable URL mapping[URLマッピングを有効にする]を選択し、必要な情報を記述してください。
VLE拡張エディターが、保存されていないランタイムパッケージファイルを見つけられません。
変更したファイルを保存しない場合、VLE拡張エディターがIDEで開いたファイルの変更を認識しません。
回避方法:拡張エディターで作業する前に、IDEで修正された全てのファイルを保存してください。
IDE 3.0がインストールされていない時にバージョン3.0のプロジェクトのデプロイを行うとエラーが起こります。
回避方法:IDE3.0がインストールされていない状態でバージョン3.0のプロジェクトをデプロイしないでください。もしデプロイしてしまった場合、IDE4.0は CURL.IDE.DOCUMENTATIONのパッケージが見つかりませんというエラーを表示します。IDE3.0をインストールしないと、バージョン3.0のプロジェクトは正しくデプロイできません。すでにIDE4.0を3.0上にインストールした場合、3.0のプロジェクトファイルをディプロイする為に、IDE4.0をアンインストールしてください。
(Linux) VLEレイアウトツリーに関する問題
特定のバージョンのLinuxでは、VLEウインドウの一部がオフスクリーンになっている時にVLEレイアウトの中の操作が正確に行えません。
回避方法:これはウインドウマネージャの問題です。ウインドウの全体をスクリーン上に表示してください。
パッケージが完全にキャッシュされる前に、IDEを起動できてしまいます。
Linuxではインストールが完了する前にCurl IDEを起動させることが出来てしまいます。また、Linuxではインストール完了のダイアログが表示されません。
回避方法:Curl IDEをインストールし、rpmコマンドの呼び出しが成功した後も、バックグラウンドでIDEのパッケージをコンパイルし、キャッシュを行うためのタスクが実行されています。
psコマンドを実行し、’surge’プロセスのインスタンスが表示されているか確認してください。Surgeに関するプロセスがなにも表示されない場合は、インストールが完了しています。
コンピュータの性能が低かったり、CPU使用率が高い状態でインストールを行うと、バックグラウンドでのプロセスに数分かかることがあります。性能の高いコンピュータならば、この処理に一分以上かかることはまずありません。
CurlIDEはバックグラウンドでのパッケージのインストールタスクが完了する前に起動しても正常に動作します。しかしバックグラウンドのタスクが実行されている間は、パフォーマンスが悪いので、インストール作業が完全に終了してからIDEを起動することをお勧めします。
pcurl が 条件つき’include’ を評価する時ユーザではなく、開発者の環境に依存してしまいます。
pcurl が条件つき’include’を評価するときに、ユーザではなく、開発者の環境に依存した条件で行なってしまいます。pcurlバージョンはCurlのソースのバージョンと同じ動作を行なうべきで、条件つきinclude文の評価はアプレットが実行される環境によって行わなければいけないので、pcurlのこの振る舞いは間違っています。
パッケージはpcurlされた後も、pcurlされる前と同じように動作しなければいけません。
all-version-switch, platform-switchなどのコードで、pcurlされたパッケージに誤作動が起こります。
以下に例を示します。
{api-version-switchcase "3.0" do{include "old-source-file.curl"}case "4.0" do{include "new-source-file.curl"}else{error "error"}}
このコードは、開発者側のテストでは正常に動作しますが、プロジェクトを配布した際、開発者側のAPIバージョンに基づいたファイルをインクルードされることになってしまいます。
回避方法:配布パッケージの中では条件付のインクルードを行わないでください。
Mozillaサポートに関する問題
Firefoxが規定のブラウザの時、IDEからSurgeがFireFoxを起動しません。
回避方法:規定のブラウザにNetScape, Mozilla またはIEを設定してください。
デバッガで大きな配列を展開する場合の注意。
現在表示できるアイテムの数に制限はありませんので、デバッガで配列を展開する時には注意して下さい(メモリがかかりすぎる可能性があります)。
VLEの作成するレイアウトクラスのサイズの上限について
VLEでは、一つのソースファイルに複数のレイアウトを含めることが可能であり、アプリケーションの用件に沿うようにレイアウトやファイルを自由に編集することができます。ただし、一クラスの中に含むことの出来るフィールドの数には上限があります。デザイン名をオブジェクトに付けた場合、そのオブジェクトはレイアウトクラスのフィールドとなります。一つのレイアウトクラスの中にはデザイン名のついたオブジェクトを1000個まで持たせることが可能です。
変更されたプロジェクトのセッティングに対し、Undo(元に戻す)チェックアウトでの変更はできません。
変更されたプロジェクトのセッティングに対し、Undoチェックアウトでの変更はできません。“元に戻す”操作の後にファイルを一度閉じ、再度開く必要があります。この問題は、Undoチェックアウトがプロジェクトファイル上で行われ、プロジェクトターゲットの変更が起きた場合のみに起こります。
IDEで古いプロジェクトを開く場合
IDEはプロジェクトファイル何プロジェクトのAPIバージョンを持っています。古いバージョンのプロジェクトが開かれた場合、それよりも新しいバージョンのみが持っている機能は使うことが出来ません。[プロジェクト]→[APIバージョンの変更]を選び、古いバージョンのプロジェクトを現在の新しいIDEのバージョンにアップグレードして下さい。Ver5.0では、このダイアログは新しいAPIバージョンを特定する為に、プロジェクトの中のアプレットのヘラルドのバージョンを検知し置き換える機能も持っています。
Chart Invisible Until width and height are Set
高さと幅が設定されるまではチャートが表示されない問題について
In many circumstances a Chart object will be invisible unless you set the width and height explicitly. If you add a Chart to a layout in the VLE and it is not visible, try setting the width and height.
多くの場合、チャートオブジェクトは高さと幅を明示的に設定するまでは表示されません。
VLEでチャートレイアウトを加えた際にチャートが見えない場合は、高さと幅を設定してください。
VLEは異なるAPIのバージョンに対して、トップレベルでのオブジェクトを許可します。
VLEの[ファイル]→[新規]または[編集]→[新規レイアウト]を使い、レイアウトのトップレベルのコンテナオブジェクトのタイプを特定することができます。しかしながら、VLEはこの新しいオブジェクトのリストを有効なAPIバージョンでのオブジェクトのみに限定していません。例えば、バージョン3.0のプロジェクトでVLEを開き、[ファイル]→[新規]を選択します。ダイアログはデフォルトでバージョン3.0のAPIのリストを表示します。しかし、トップレベルのコンテナの選択項目には、TabAccordionのようなバージョン5.0からのコンテナも含まれています。もし古いバージョンのまま動かすときは、トップレベルのコンテナに、新しいバージョンのコンテナを選択しないように気をつけてください。
IDEデプロイメントの再同期方法が正しくない可能性があります。
ファイル操作、I/O、 OCC 、パーシスタント・データ
curl://occは、いつでもデフォルトブラウザで開きます。
Windowsにおいて、OCCアプレット("curl://occ/...")は、デフォルトではないブラウザのアドレス欄にURLを入力したときでも、デフォルトブラウザを開きます。
request-headersの“content-type”設定がApplet.browser-url-postに無視されてしまう。
HttpRequestDataをリクエストで使用した際に、HttpRequestData.content-type がHttpRequestHeadersの中のContent-Typeのヘッダーフィールドをオーバーライドしてしまう
回避方法:使用したいcontent-typeをHttpRequestDataの中で明記してください。(HttpRequestHeadersの中ではありません。)
IISサーバを使う場合、最終更新時が“None”と表示される時があります。
初めてパッケージがロードされた時は、「Temporary Internet Files」ディレクトリのそのファイルの最終更新時間が正しく設定されますが、IEとSurgeをシャットダウンした状態でパッケージが編集された時に、続いてのロードを行うと、最終更新時が“なし”と表示されてしまいます。
マニフェストやアプレット中の'resync-as-of'パラメータが最終更新時に依存しているから、その場合ファイルが変更されても、アプレットに更新されないが、マニフェストとアプレットが最新のファイルにアップデートされたように見えてしまいます。
回避方法:現在この問題は解決中です。この問題はIIS Webサーバ内での制限が原因のようです。問題を解決するために、他のWebサーバでデプロイしてください。
‘resync-as-of’の時間を将来に設定することで、マニフェストとアプレット(パッケージファイル)を常に更新させることが可能ですが、パフォーマンスの面からお勧めできません。
(Linux) 'network-offline-mode?’に関するサポートが必要です。
'network-offline-mode?' はLinuxではサポートされていません。.
回避方法: 'network-offline-mode?'の代わりに 'network-disconnected?'を使用しネットワークが利用可能か確認してください。
String.replace-clone メソッドが無限ループに落ちる可能性があります。
String.replace-cloneメソッドを呼び出す時に、一番目のパラメータを空のStringを渡すと、無限ループに落ちます。 同じように、WritableString.replaceでもこの問題が発生します。
回避策: これらのメソッドを呼び出す前に、一番目のパラメータが空のストリングにしないように、パラメータの空判定を行なう、空の場合、このメソッドを呼び出さないようにしてください。
Curlを終了してもI/Oバッファーはフラッシュされません。
Curlでファイルを開いたり、編集したり、閉じたりする際、Curlを終了するとバッファされたデータは全て失われます。これはファイルの中に全てのデータが存在していない結果起こります。この問題を回避するために、“flush”メソッドが明示的に呼び出されるか、Curlを終了する前にファイルを閉じる必要があります。
OS、ブラウザ、サーバー問題
IEでCurlアプレットを含んでいるウインドウの中で起こるJavascriptの問題
JavaScriptのwindow.openで呼び出されたウインドウでアプレットが開かれた際、ウインドウがすでに開かれている状態で再度window.openの呼び出さないない限り、window.closeを使用してもウインドウが閉じられません。
回避方法:アプレットを含んだHTMLページがEMBED/OBJECT/IFTRAMEタグを使用して、window.openで開かれている場合、window.closeでウインドウを閉じることができます。Microfsoftはこのバグを認識しており、将来のOSサービスパックで修正される予定だそうです。
browse-url-postメソッドのレスポンスとして返却されたHTMLページでIEの画像表示バグ
IE5.5及び以上のバージョンで、Curlのアプレットを含んだHTMLのウェブページがFrameSetの一つのFrameにロードする時に、Curlのアプレットがbrowse-url-postを行なって画像を含んだHTMLページが返却されるときに、HTMLページが表示されるが、画像ファイルがロードしない。
回避策(一部):“target=”がbrowse-url-postのパラメータから削除すると、上記の問題を回避できるが、CurlのアプレットがFrameSetのFrameに直接配置する場合に限られる。アプレットがHTMLページにエンベッドする場合、画像が依然とロードしません。画像ファイルが事前にブラウザのキャッシュに入っている場合、これらの画像がロードされる。
Konquerer 3.1.4でアプレットのbrowse-forward と browse-backwardが使えません。
Konqueror 3.1.4以前のブラウザで実行するアプレットはApplet.browse-forward とApplet.browse-backwardが使えません。使用すると、(JavaScript: not being supported)のようなエラー内容が書かれたポップアップ画面が表示されます。
回避方法:最近のバージョンではこの問題は解決されています。
Netscape 8.0.2でアプレットのbrowse-forward と browse-backwardが使えません。
Netscape 8.0.2で実行するアプレットはApplet.browse-forward とApplet.browse-backwardが使えません。使用しても、何も起こりません。
回避方法:ありません。これはNetscape 8.X.の問題です。
IDEを利用しFireFoxでアプレットを実行する時に、最小化されたFireFoxが元のサイズに戻りません。
FireFoxがデフォールトブラウザの場合、最小化されて実行している場合は、IDEからアプレットを実行すると、アプレットがブラウザ内で実行されるが、ブラウザのウィンドウが最小化のままです。
FireFoxのタブブラウジング問題
FireFoxでCurlのアプレットを実行する時に、FireFoxのタブブラウジング機能がフル機能しません。
Windows98とWindowsMEでbrowse-url-postが呼びだされる時に、IEがクラッシュするケースがある。
回避策:別のブラウザを利用するか、OSをバージョンアップしてください。
Netscape 4.75上でのObjectやEmbedタグの問題
Netscape 4.X 上では、存在しないURLのリンクを保持しているObjectやEmbedタグが使われる場合、何もエラーを表示しないか、おかしなエラーを表示する場合があります。
回避方法:ブラウザをアップグレードしてください。Netscape 4.Xの機能の問題です。
Konqueror3.3.1以前のバージョンでCurlのアプレットにポストデータが送られた場合旨く動作しません。
回避策:ありません。Konquerorブラウザの制限です。
(Linux)MozillaベースのブラウザでCurlアプレットがスティッキーなアプレットとして動作する。
以下のブラウザではCurlアプレットがスティッキーなアプレットとして動作する。そのため、ブラウザの履歴に残っているCurlアプレットのURLを参照した際、存在するアプレットのインスタンスが参照されて、すでに実行されているアプレットインスタンスに戻ります。
影響のあるブラウザ
-- Netscape4.8以上
-- Mozillaの全てのバージョン
-- Firefoxの全てのバージョン
回避方法:ありません。Mozillaベースのブラウザはプラグインに対して履歴情報の提供をサポートしていません。
[linux] Konquerorが自動的に新しいプラグインを検出しません。
KDE 環境下で動いているKonquerorブラウザがSurgeプラグインの存在を自動的に認識しません。
回避方法:Konquerorで、 Settings -> Configure Konquerer -> Plugins -> Plugins
まで行き、"Scan for new plugins"ボタンを押してください。
Fedora Core 3において Curl RTE で SSHを使用する場合の注意
最近のOpenSSH のバージョンでは、デフォルトでアントラストX11クッキーを使用しています。それに伴い、Fedora Core 3 LinuxでSSH経由でCurlを起動するとエラーが発生する場合があります。以前の状態に戻す為に、ssh_config でForwardX11Trusted yesと設定する必要があります。詳しくはOpenSSH FAQ.を参照してください。
127.0.0.1 が拒否される時に強制終了します。
ファイアウォールでIPアドレス127.0.0.1 を接続拒否に設定しないでください。SurgeR RTE と Surge LabR IDEは、内部利用の目的の為にこのループバック・アドレスを使用しています。これらの製品は、このアドレスのポートに対するアクセスがブロックされていると機能しません。
LinuxにおけるMozillaのアドレス・バー内のキーボード・フォーカス
Linux上のMozillaでCurlアプレットを動作させた場合、一度キーボード・フォーカスがCurlアプレットに与えられると、ブラウザのアドレス・バーにフォーカスを戻すことが難しくなる場合があります。これはMozillaの特定のバージョンにおけるバグと思われます。
Curl RTEに付属のMozillaには日本語リソースはありません。
Linux上のSurgeRRTEは、ブラウザを起動する必要がある時に既にインストールされている妥当なブラウザが見つけられないと、SurgeRRTEに含まれているMozillaブラウザのコピーを使用します。このMozillaのコピーは、ユーザが利用している環境の言語と関係なく、英語リソースだけを含んでいます。
TurboLinux では、ウインドウアイコンをセットできません。
TurboLinuxにおいてSurgeRRTEはウインドウアイコンをセットすることが出来ません。
LinuxにおけるIME Windowの問題
Fedora Core 3において、IME Windowがタイトルバーを表示すべきではない時にタイトルバーと共に表示されます。ここにはキーボード・フォーカスとIMEウインドウを閉じる際に問題があるかもしれません。しかしながら新しいIMEコンポジションを始める時に、既存のIMEウインドウが閉じられます。この問題は一部のシステムの設定の問題だと思われます。
以下の設定を/usr/X11R6/lib/X11/app-defaults/Kinput2に追加することにより、kinput2 のウィンドウが多くのウインドウマネージャからフォーカスを取得することを防ぐことが出来ます。
*SeparateConversion.input: false
*selectionShell.input: false
*auxShell.input: false
この設定は: fvwm2-2.4.5, sawfish-1.0.1, KDE3, icewm-1.0.9, enlightenment-0.16.5, scwm-0.99.6.2, twm (from XFree86 4.2.0)で動くことが報告されています。.
残念ながら、次のウィンドウマネージャに無視されている: blackbox-0.62.1, WindowMaker-0.80.0
上記の設定を適用できないウィンドウマネージャにとって、何も変化が無いが、適用できるウィンドウマネージャにとって、上記の設定は改善です。
Konqueror ブラウザでSurgeプラグインを起動する時の問題
Konqueror が"NPP_Destroy()"を呼び出す時に失敗することによって、SurgeRはKonqueror で正しく動作しません。この結果になるのは、アプレットをリロードする時に既存のインスタンスが置き換えられることではなくて、新しいインスタンスが作成されることになっているからです。結果、大量のSurgeプロセスが作成されて、例外を引き起すことになります。Konqueror のバグが修正されるまでに、唯一の回避策は、Konqueror ブラウザに関連付けられたSurgeのプロセスをクリアする為に時々そのブラウザをシャットダウンすることです。
IEでhtmlファイルをCurlのアプレットとして実行しようとする時に、アプレットがハングアップしてしまいます。
Windows 上のInternet Explorer で、拡張子.curlを持っているがCurlのコンテンツではないファイルを実行する場合、ページはハングするかもしれません。IEは、MIMEタイプよりも、ファイル拡張子を優先しますから、そのようなファイルはSurgeRプラグインに送られます。 SurgeRは、text/html や他の CurlではないページやMIMEタイプを扱うことが出来ません。
回避策: Curlのコンテンツで無い限り.curl拡張子を使用しないでください。
Linux:”コントロールキーでマウス・カーソルを表示する”がCurlのコントロールキーの処理を妨げる。
Linux上で、“コントロールキーでマウス・カーソルを表示する”を選択した場合、SurgeR RTEがコンロトール・キーの状態を受け取ること出来ません。
Linux:SurgeRは、Firefoxのプロファイルをコピーしません。その為FireFoxのユーザ設定は無視されます。
Linux上SurgeRRTEは、httpとhttpsを取り扱うためにMozillaベースのライブラリを使用しており、SurgeRRTEは使用しているプロキシサーバーやクライアント証明書などの様々な設定を取得するためにユーザーが最後に使用したMozillanoプロファイルのコピーを作成します。しかしながら、Curl RTEはFirefoxのプロファイルをコピーしません。その為、Firefoxのユーザーは、Curl RTEが変更を認識できるようにMozillaを起動し、該当の設定をMozillaを経由して変更する必要があります。
ネットワークソケットの制限
Windows 98上でCurl RTEを実行中に、OSのソケット数の制限によってネットワークソケットが不足する可能性があります。この問題によって、ロードが完了しないアプレット、またはネットワークリソースを使用しつくしてしまうことに関するエラーが表示されます。これを修正する為には、regeditを使用して新しくString型のレジストリ・エントリをHKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\MSTCP\MaxConnections に作成し値を256にします。
Running applet with infinite loop wedges Windows taskbar with atom build only
無限ループを行うアプレットはWindowsのタスクバーの正常な動作を妨げます。
Windows XP SP2で特定の設定を行うことによって、無限ループを使った破棄されないCurlのアプレットを実行すると、Windowsのタスクバーが反応しなくなります。以下に単純な例を載せます。
{curl 5.0 applet}
{after 1s do
{while true do}
}
The conditions required are
このアプレットが動作する為の条件は
* Windows XP SP2がインストールされていること
*エクスプローラで、クラシック表示になっていること
* Windows Multiple Language Support がインストールされていること
* 大きな言語バーのアイコンがタスクバーに表示されていること。
*Curl RTEは起動されており、システムトレイの左端にある。また、言語バーのアイコンはタスクバーの中ではCurlRTEの左に位置していること。
*無限ループを含んだ破棄されないアプレットがIEで実行される。
この状態で、Windows Explorerはマウスからのイベントに反応しなくなります。
回避方法:上記の設定を行っている場合は、システムトレイ上のCurlRTEアイコンの左側にあるアプリケーションのアイコンを開いてください。最も簡単な方法は、Windows タスクマネージャーを起動することです。
タスクバーが反応しなくなっている場合は、Ctrl-Alt-Delキーを押し、タスクマネージャーを開いてください。プロセスタブの中から、Surge.exeを選択し、終了させてください。この場合は、全てのアプレットが終了しますので。アプレットを再起動させる必要があります。
Internet Explorer UIが埋め込み型のコンテンツを変更してしまう場合があります。
最近のアップデートによって、Microsoft Internet Explorerユーザーは埋め込み型のCurlアプレットを含むMicrosoft ActiveXコントロールを使用したアプリケーションを直接表示酢売ることがなくなりました。回避方法を実装しない限りは、ActiveXを使用するために必ずクリックが必要になりました。Microsoft MSDNのサイトに詳細情報が掲載されています。
Lynuxのシステム上で、正しく動作しないIDEのショートカットが存在します。
特定のLinuxウインドウマネージャ上で、IDEのショートカットコマンド(Ctrl+F5 やCtrl+Shift+F5)が動作しない場合があります。回避方法としては、メニューから直接選択するか、ツールバーボタンを使用してください。
API、言語の問題
“with”マクロを使用した際の、セットされていないオプションに対する動作について。
以下のようなサンプルでは、”with”マクロの中でセットされたオプションを、マクロが終了した後に以前の状態に回復できません。
{curl 5.0 applet}
{let cb:CommandButton = {CommandButton}}
{after 5seconds do
{output {set? cb.enabled?}}
{with cb.enabled? = true do
{output {set? cb.enabled?}}
}
{output {set? cb.enabled?}}
}
{value cb}
“with(マクロ)”のドキュメンテーションの中で、オプションの値に対して、特定の動きに関する記述をしていません。このドキュメントでは、変数のみを説明しています。
回避方法として、”with”マクロの前で、”with”マクロの中で初期化されたオプションの変数に対して、状態を保存してください。また、”with”マクロを出る際に、その値を明示的に修正してください。
CURL.UTIL.ELASTICの中に加わったAPI
CurlRTEのver4.0のAPIの中で、make-elasticを含むエラスティックを操作するAPIはCURL.GUI.BASEからCURL.UTIL.ELASTICに移りました。これらのAPIは両方のAPIバージョンの中で、CURL.GUI.STANDARDによって再読み込みが行われています。
パッケージが4.0以降のバージョンにアップグレードされた場合に、CURL.GUI.BASEがインポートされていて、以下のAPIが定義されていない場合は、CURL.UTIL.ELASTIC 又はCURL.GUI.STANDARDをインポートすることで解決が出来ます。
クラス:
Dimension
Elastic
OriginElastic
プロシージャ:
make-elastic
make-origin-elastic
dimension-to-elastic
dimension-to-origin-elastic
コンテンツ:
StretchOrder
unstretchable-zero-length-elastic
unstretchable-zero-length-origin-elastic
unstretchable-stretch-order
rigid-threshold-stretch-order
rigid-compress-order
rigid-neutral-stretch-order
rigid-stretch-order
padding-threshold-stretch-order
proportional-stretch-order
compliant-stretch-order
Curlの暗号APIのAlgorithm.rc2は、Win2Kでは正常に動作しません。
CURL.CRYPTO.CIPHER パッケージの中のCurl RTEの暗号APIは、その実装をOSの内部的な機能に依存しています。Windows XP Service Pack 1では、MicrosoftはRC2暗号化で使用するキーのビット数を変更しました。そのため、暗号化されたデータはWindows XPとそれより前のWindowsでは互換性がありません。CurlはRC2の暗号化の際に、全てのサポートしているプラットフォームに対し128ビットの長さのキーを指定していますが、XP Service Pack 1以前のWindowsでは、RC2のキーに対しMicrosoftの暗号提供は40ビットの長さのキーを採用していました。SP1より古いバージョンのWindowsOSと暗号化されたデータをやり取りする必要がある際は、CURL.CRYPTO.CIPHER.Algorithm.rc2を使用しないで下さい。
|