問題タブ [name-collision]

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 投票する
13 に答える
55187 参照

c - 2 つのライブラリが同じ名前の関数を提供し、競合が発生した場合はどうすればよいですか?

同じ名前の関数を提供するライブラリが 2 つある場合はどうすればよいですか?

0 投票する
4 に答える
1770 参照

javascript - JavaScript 関数名の衝突

同じ名前 $() の jQuery 関数を含む 2 つの JavaScript ファイルがあります。

同じ名前の 2 つの関数を区別するにはどうすればよいですか?

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

r - 検索パスでの名前の衝突が原因で、Rで関数のマスクを解除する方法

debugオブジェクトを使用してスクリプトをデバッグするためにパッケージをロードするとzoo、問題が発生しました。関数indexがパッケージzooによってマスクされていました。debugどうすればマスクを解除できindexますか?一般的に、これらの名前の衝突の問題にどのように対処するのですか?debug`zoo'でパッケージを使用しませんか?

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

java - 異なるパッケージに同じ名前の 2 つのクラスをインポートする方法は?

これら 2 つのクラスをインポートしたいと考えています。どちらも名前が付けられていますQuery。1 つはJDOクラス、もう 1 つはJPAクラスで、同じクラスの異なるメソッドで使用します。

ファイルの先頭に両方を同時にグローバルにインポートする方法はありますか?

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

javascript - 同一の JavaScript 関数を実行する方法

広範な調査の結果、javascript の (かなり) 低いスキルに適合する答えを見つけることができませんでした。あなたの誰かが助けることができれば、それは大きな安心になるでしょう.

このスクリプトを同じページで 2 回実行しようとしていますが、問題は関数 onYouTubePlayerReady を最後に上書きしないと 2 回呼び出すことができないことだと思います。また、名前を変更すると、実際の機能は実行されません。

これがコードです。同じページで最大 4 つの YouTube 動画を無音で自動再生してほしいです。それがどのように可能か知っていますか?

御時間ありがとうございます

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

java - Java オーバーライドの競合 - 同じ名前で戻り値の型が異なる

Fileクラス ( ) を拡張し、以下のようにTreeNodejava.io.Fileインターフェイスを実装するクラスを作成しようとしました。

TreeNodeメソッドを実装しようとしましたが、競合が発生しました。

public String getParent(){}on Filepublic TreeNode getParent()クラスは、戻り値の型でon TreeNodeインターフェイスと競合しています。

どうすれば解決できますか?(たとえば、戻り値の型に Object クラスを使用できない理由など!)

最後に、クラスでファイル オブジェクトを使用することにしました。

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

c# - VBA での C# COM ライブラリのアーリー バインディング

これは長い質問ですが、コーディングとテストの部分は本当に簡単に再現できるはずです。

で2 つの別々Class Librariesのファイルを作成C#しましたが、以前のプロジェクトや試用版の既存のレジストリ キーが原因で、名前の衝突の問題が発生していると思います。

ここに私の2つのクラスがあります:

私は次のように .Net コンポーネントを COMに公開しました:
Excel からアセンブリにアクセスするために、ADODB 参照をアセンブリに追加し、アセンブリ COM を表示、com interop に登録することにチェックを入れました。*.tlbまた、各ファイル ( 2 つのプロジェクトに対して 2 つのファイル) への参照を追加したので、事前バインディングを使用してそれらにアクセスし、VBA Intellisenseを使用できます。

Connection別のマシンでも同じ手順を実行しましたが、 as クラスを使用して事前バインディングを使用できます。

Connection元のマシンで削除していない古いレジストリ キーがいくつかあり、VBE でクラス名として使用できないと考えています。手動でレジストリをスキャンし、プロジェクトに関連すると考えられるものをすべて削除しました。

また、プロジェクトを完全に削除し、サードパーティのソフトウェアを使用してレジストリをスキャンして不足しているdlls を探しましたが、役に立ちませんでした:/

以前に登録したすべての GUID を削除し、新しいプロジェクトを作成するたびに新しい GUID を適用しました (念のため)

異なる名前空間とクラス名を使用して新しいプロジェクトを作成しました ( using ADODB;) このように早期バインディングをまだ使用できていないため、名前の競合の問題Test.Connectionがあると想定しています。100% 確信はありませんが、名前クラスが原因ではないかと疑っています。Connection

Test.TestClassVBAの名前空間:

TestClass事前バインディングを使用すると、次の 2 つの方法で型のインスタンスを宣言して使用できます。

VBE オブジェクト エクスプローラーF2TestClass移動すると、他のライブラリと比較して適切に表示され、COM を使用する一般的な考え方が表示されます。

TestClass オブジェクト エクスプローラー

Test.Connectionただし、ライブラリを使用したい場合TestClass、生成され*.tlbファイルが. そのため、代わりにこのようにバインドする必要がありますProgId's

そして、 (ドット)ではなく(アンダースコア)Object Explorerを使用して名前を表示します。これは、なぜこれが起こるのかを簡単に説明できます-読み続けてください:)_.

事前バインディングを使用できない

現状では、衝突を避けるために名前を変更するのは VBE 環境ではないと確信しています。VSの*.tlbジェネレーターです。

*.tlbアセンブリ フォルダーに移動し、両方のファイルを で開きましたNotepad++。ライブラリのには*.tlb、が含まれるとは異なり、がTest.Connection含まれる名前がすでに含まれていることがはっきりとわかります。_Test.TestClass.

ファイルを手動で編集しようとし*.tlbましたが、混合バイナリ ファイルであるため、何らかの効果がありますが、Excel が奇妙な方法で応答しなくなるため、この方法を避ける必要があります。

問題が何であり、どこから来るのかをよく説明したと思います。私の質問は次のとおりです。私の s をオーバーライドしないようにジェネレーター
に指示するために、C# コードで使用する属性はありますか? ファイルを操作する別の方法はありますか? この問題はありますか? クラスの名前を変更せずに回避できますか?*.tlbProdId
*.tlb
name collisionConnection

こんなに長い質問で申し訳ありませんが、私はほぼ一週間掘り下げ続けてきましたが、まだこれを解決できません。

注: IntelliSense ctrl+を使用する VBA (または VBE オブジェクト エクスプローラー) では、またはが使用されspaceていないようです。それらはVBE環境でまだ予約されていないため、ライブラリ自体に関係していると考えています。ConnectionRecordset

この問題がここで取り上げられた理由の参考として、エイリアスを作成する C# に相当する VBA または VB.NET インポートを参照し
てください。

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

ms-access - Access VBA: SQL クエリで UPDATE 構文エラーが発生する

スタッフ、コース、および Training_Record というリンクされたテーブルを持つデータベースがあります。各スタッフ メンバーには、各コースと Training_Record テーブルの各エントリと同様に、数値の主キーがあります。スタッフとコースの Training_Record 参照レコードの Staff_ID と Course_ID。

スタッフメンバーまたはコースが追加されると、Training_Record (フィールド: Staff_ID、Course_ID、Date_Taken、Notes) にスタッフ、コースレコードが挿入されるため、スタッフメンバー 1 を追加すると、レコード (1,1,,,), (1,2 、、、) など、コース 8 を追加すると、(1,8,,,)、(2,8,,,) などのレコードが挿入されます。これは機能します。

次に、トレーニングを記録するフォームを作成します。ユーザーはコースを選択し、日付を入力して、リストボックスからスタッフ メンバーを選択します。VBAコードをトリガーする保存ボタンがあります。日付とコースはボックスから取得され、リストボックスをループして、選択したスタッフ メンバーを連結して文字列にします。これはすべて機能し、それを確認するメッセージ ボックスが表示されます。次に、更新 SQL クエリを実行して、Training_Record を更新する必要があります。

私が抱えている問題は、SQL の更新に関するものです。SQL クエリ エディターで機能する更新クエリがありますが、変数で記述されています。

これにより Training_Record が更新され、スタッフ 1、2、3、4、および 5 が 12/12/12 にコース 4 を受講したことが示されます。ただし、VBA ではこれは機能しません。これは、VBA での私の SQL クエリです。

コードが生成するエラーは、「実行時エラー '3144': UPDATE ステートメントの構文エラー」です。デバッガーは、クエリに続く DoCmd.RunSQL ステートメントを強調表示します。VBA コード全体:

TL;DR VBA で SQL UPDATE クエリを実行できません

どこかで構文エラーのような気がするのですが、どこかわかりません。アイデアやアドバイスをいただければ幸いです。

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

vba - コントロールの名前が変更されないように ActiveX コントロールを別のシートにコピーする方法

以下のコードを使用して、あるシートからコマンド ボタンをコピーし、別のシートに貼り付けています。

貼り付けると、名前が から に変更さHasACustomNameCommandButton1ます。

名前を保持する方法でコピー/貼り付けするか、貼り付け後に名前を変更できますか?

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

variables - Goの変数によって隠されている名前空間にアクセスするには?

最近、Go で次のコードを書きました。

しかし、名前空間「タスク」が変数「タスク」によって隠されていることに気付きました。

だから、変数によって隠されている名前空間にアクセスする方法はありますか? そうでない場合、この状況を処理するための他の一般的な手法はありますか。Go が使用するすべての奇妙に短い名前空間 ("url"、"bytes"、"strings" など) により、あらゆる種類の潜在的な変数名が予約されているようです。なにか提案を?