問題タブ [forward-compatibility]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
304 参照

c# - 従来のコードを壊さずにクラスをサブセット化するスーパーセット

私がOOPに本当に慣れていないのを見て、これはもっとよく知っていれば回避できたはずです。私はクラス ライブラリで約 1 年を開始し、それを Tree と呼ぶ Class Lets を作成しました。今まで Tree クラスは正常に動作しており、まさに私が必要としているものを実行します。

さて、今、私はさまざまな種類のツリーを持っていることに気付きました

ツリーのいくつかの機能を独自の名前空間に移動し、これらの他のツリー用に新しい機能を作成したいと思います。現在のツリーを既に実装しているシステムを壊さずにこれを行うにはどうすればよいですか?

既存の通話から新しい通話に「転送」できる方法はありますか

0 投票する
8 に答える
62026 参照

java - JDKは「上向き」または「後方」互換性がありますか?

下位バイナリ互換性(または下位互換性)-古いバージョンのライブラリAPIで構築されたクライアントが、新しいバージョン(wiki)で実行できる機能。

上位バイナリ互換性(または上位互換性)-新しいバージョンのライブラリAPIで構築されたクライアントが、古いバージョン(wiki)で実行できる機能。

1.4.2以降のJ2SE5.0でのJDKの非互換性に関する一般的なSunのドキュメント(およびJava SE6とJ2SE5.0との互換性)では、JDKの互換性について次のように説明しています。

JDK 5.0は、以下にリストされている非互換性を除いて、Java 2 SDK、v1.4.2と上位バイナリ互換です。これは、上記の非互換性を除いて、バージョン1.4.2コンパイラでビルドされたクラスファイルがJDK5.0で正しく実行されることを意味します。

この文では、ドキュメント作成者が「上位」と「下位」の互換性という用語を混同していると思います。これらは「下位」互換性について説明していますが、この機能を「上位」互換性と呼んでいます。

これはタイプミス、間違い、または意図された用語ですか?JDKは「上向き」または「後方」互換性がありますか?

0 投票する
1 に答える
95 参照

javascript - Javascript-新しいメソッドを見つける/提案する場所はどこですか?

たとえば、誰かが新しい、非常に便利でクールな方法のアイデアを持っているとしましょうString.prototype.multiply。彼女は現在のjavascriptの実装ではそれを見ていません。しかし、おそらくそれはいくつかのjavascript / ajaxライブラリにすでに実装されているか、または同様のメソッド(別の名前ですが、彼女は知りません)は現在のデファクトスタンダードであるか、将来のECMAScriptバージョンにすでに移行中です。

彼女の目的は、新しいjavascriptまたはサードパーティコードとの互換性を念頭に置いて、jsコードに新しい機能を正しく実装することです(彼女は必ずしも新しい標準を提案する必要はありません)。

それを見つけて話し合うのに最適な場所はどこですか?

0 投票する
3 に答える
8692 参照

porting - Node.JS がインターネット上で動作しない

私はWindows上のnodejs用の基本的なWebサーバーのHello Worldアプリを持っており、localhostで動作します。しかし、インターネットからテストすると、接続できません。Netgear ルーターでポート転送をセットアップしました。私のnodejsサーバーを外の世界に見えるようにするためのステップがここにありませんか?

ありがとう。

0 投票する
2 に答える
4083 参照

c++ - nullptr を C++-pre-C++0x プログラムに「バックポート」する

多かれ少なかれ、タイトルが示唆するもの。私はまだ C++0xを使用していませんが、それが起こったときに備えたいと思います。また、その機能の一部を使用するために書き直さなければならないコードの量を減らしたいと考えています。そうすれば、後方互換性と前方互換性を一度に取得できます。

私が見つけた最も興味深いものの 1 つは で、nullptr最近頻繁に使用しています。

「公式の回避策」とMeyer の提案を確認した後、これを自分の C++ プログラムと将来の C++0x プログラムの両方で使用することにしました。2 番目の部分は単純です。キーワードであるため、nullptr単純にサポートされます。しかし、最初の部分は私に不快感を与えています。

Meyers の提案は次のように機能します。

std::nullptr_tその提案の問題点は、C++0x で必要とされる型を宣言することです。つまり、回避策を「ネイティブに感じる」には、std::名前空間を再度開いて型を追加する必要があります。私は、C ++プログラムで行うのは違法であることを理解しています(明らかに警告を発して眉をひそめているように見える特殊化を追加するのとは異なります)。

C++ プログラムでnullptr快適かつ合法的な方法で使用したい。私が考えていたオプションの 1 つは、別の名前空間で型を宣言し、それを次のように使用することでしたusing

これはそれを機能させる正しい方法でしょうか?ディレクティブを強制usingし、特定の順序の#includeディレクティブも強制します。nullptr_tC++0x より前のコードでは、名前空間を持つ型を (たとえば、関数の引数の型として)要求しないと期待するのは正しいでしょうか? このようにすると、実際に「ネイティブ感」が得られるでしょうか?


補足として、互換性とコーディングを改善するために、いくつかの気の利いた C++0x のものを C++ にバックポートしようとすることは、歓迎されることですか、それとも嫌われることですか? それまでの間、私はこのソリューションと、私が取り組んでいる他のソリューションを、リリースされるソフトウェアに統合しました。

0 投票する
1 に答える
466 参照

android - Android メニューの上位互換性

流通しているデバイスとの互換性を最大限に高めるために、最小 SDK 7 でアプリを作成しました。Android フォン (GB2.3) では、メニュー ボタンを押すと、画面の下部にメニュー ストリップがポップアップ表示されますが、これは正しいことです。

ただし、メニュー ハードウェア キーが存在しない HC3.2 タブレットでは、画面の下部にソフト メニュー キーがあると思っていましたが、表示されず、メニューを開くことができません。

どこを調査すればよいのか、コードのどの部分を共有すればよいのかわからないので、メニューのソフトボタンをどこで探す必要があるか教えていただけますか?

最近の Android バージョンではメニューが廃止されていることを読んだ後、ICS4 にソフトメニュー ボタンがあるかどうかわかりません。そのようなデバイスでアプリをテストしたことはありません。アドバイスをいただけますか?

ありがとう

0 投票する
1 に答える
594 参照

firefox-addon - Firefox 10 に Xpather をインストールする

Xpatherを Firefox 10 で使用したいのですが、インストールしようとすると、Firefox は互換性がないため、Xpather をインストールできませんでしたと表示されます。

0 投票する
1 に答える
545 参照

crystal-reports - Crystal XI リーダーで障害を引き起こす可能性のある Crystal Reports 2011 の機能

Crystal Reports 2011 (v14) でレポートを開発しましたが、Crystal Reports XI (v11) のリーダー上に構築されたアプリケーションで動作させる必要があります。XI の調達に取り組んでいるので、そこでレポートを適応させることができますが、当面は、2011 年に開発されたレポートをそのまま動作させることができれば幸いです。この回答で引用されている前方互換性に関する注記により、これが機能することを期待していました。

XI ベースのアプリケーションでレポートを実行しようとすると、

エラー: -2147206429

TLV レコードが無効です。

モジュール内: Crystal Reports ActiveX Designer

私の疑いは、私のレポートが 2011 年に XI には存在しない何らかの機能を使用しており、どういうわけか XI リーダー エンジンを動かしていないということです。XIで作成したレポートを2011年に開いて保存したところ、問題なくXIで開くことができました。

ここで私をつまずかせる可能性のある XI 以外の 2011 の機能は何ですか? レポートが XI で実行される可能性を最も高くするには、レポートを何をチェックすればよいですか?

更新: XI でエラーがいつ発生するかを確認するために、一度に 1 つの機能でレポートを再構築しようとしました。プロンプト グループの特別な特性を設定しなくても、パラメーターのプロンプト グループを、ストアド プロシージャまたはテーブルを照会する動的リストにするとすぐに実行されます。ダイナミック パラメータ プロンプト グループが XI で導入されたことを考えると、これはうまくいくのではないでしょうか?

0 投票する
2 に答える
1196 参照

debugging - IE10は、IE10の「ドキュメントモード」を使用してActiveXオブジェクトからイベントを受信しません

IE10は、標準ドキュメントモードを使用してActiveXイベントを取得しません。以前のバージョンのIEでは、同じコントロールがイベントを発生させ、イベントがトリガーされるとIEに通知されます。

次のパターンのコードを使用してイベントを処理します:'alert(true);'

「true」は、IE9以下のドキュメントモードを使用している場合にのみアラートが表示されます

何か案は?

0 投票する
1 に答える
1180 参照

c++ - Boost Serialize の下位互換性の問題

Boost v1.47 で保存したデータはboost::archive::text_oarchive、Boost v1.37 では読み込めませんboost::archive::text_iarchive。meddage で例外をスローします"unknown version"

ここでは、バイナリ アーカイブでの同様の問題に対する回避策が提供されていますが、テキスト アーカイブでは機能しないようです。

Boost v1.37 でできる修正はありますか?