問題タブ [object-model]
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.
delphi - 2つの別々のライブラリで使用されている同じクラスに互換性がありませんか?
今日、奇妙なケースがあり、デルファイのオブジェクトモデルが実際にどのように機能するかを考えさせられました。
ケース:
オブジェクトをパラメーターとして使用して、いくつかのメソッドを公開するSOAPサービスをインポートしました。Delphiは、soapサービスとの通信に使用するクラス/インターフェイスを生成し、パラメータとして使用されるオブジェクトはすべてTRemotableから継承します。
さまざまな理由で、soapサービスとのすべての通信をdllに入れました。
次に、メインの実行可能ファイルで送信する必要のあるオブジェクトをインスタンス化し、シリアル化して送信するためにライブラリに渡そうとしました。
さて、それはうまくいきませんでしたが、私が予期していなかった例外を与えました。
せっけんサービスに送信しようとしているオブジェクトは、TRemotableから継承する必要があると言われていますが、継承しています。オブジェクトを調べることにより、クラスがwsdlからインポートされたクラスであり、親クラスが実際にTRemotableであることがわかります。
パッケージを使用してビルドすると、この問題が解決します。
質問:
2つのライブラリ間で共有されるソースファイルで定義されたクラスが、実行時に異なるクラスとして終了するようにするためですか?もしそうなら、それはなぜですか?
私の知る限り、ライブラリ間でオブジェクトを渡しても問題ないはずです。では、どのようにして強い型付けが保証され、オブジェクトインスタンスはどの程度相互に互換性がありますか?
sharepoint - SharePoint 2007 オブジェクト モデル: 新しいサイト コレクションを作成し、元のメイン サイトを新しいサイト コレクションのサブサイトに移動するにはどうすればよいですか?
これが私の現在の設定です:
- SharePoint 2007 (MOSS Enterprise) ボックス上の 1 つのサイト コレクション (合計サイズ 32 GB)
- ボックス上の 1 つのサイト コレクションの一部である、多数のサブサイト (重要な場合はほとんどがチーム サイト テンプレートから作成されたもの) を含む 1 つのメイン サイト
私がやろうとしていること*:
**より良い順序や方法があれば、変更しても構いません*
- 同じ SP インスタンス上に、メインの既定のサイトを持つ新しいサイト コレクションを作成します (これは、SP オブジェクト モデルで簡単に実行できます)。
- rootweb (a) をメイン サイトの下の新しい場所のサブサイトに移動します。
現在の構造:
新しい構造は次のようになります。
ステップ#2のコードは次のとおりです。
注: * SharePoint.Administration の下のオブジェクト モデルの SPImport は、ここで使用されているものです * このコードは現在、エラー イベント ハンドラーを起動すると、「オブジェクト参照ではなく、オブジェクトのインスタンスではありません」というエラーが発生します。
上記のメソッドを呼び出すコードは次のとおりです。
iphone - iPhone OS: managedModelObject が Key Value Coding に準拠していないのはなぜですか?
わかりましたので、アプリ用にこの統計トラッカーを作成しようとしています。必要なものすべてを追跡する statTracker というデータ モデル オブジェクトを作成しました。セレクターを使用して値を設定および取得できますが、KVC (つまり setValue: forKey: ) を使用しようとすると、すべてがうまくいかず、StatTracker クラスが KVC に準拠していないと表示されます。
valueForUndefinedKey:]: エンティティ StatTracker は、キー「timesLauched」のキー値コーディングに準拠していません。2010-05-18 15:55:08.573
それをトリガーしているコードは次のとおりです。
これで十分なコードかどうかわかりませんが、さらに必要な場合は、必要なものを教えてください。
KVC を使用できれば、このすべての統計追跡機能を、問題の値の文字列引数を使用して単一のメソッド呼び出しに抽象化できるため、これは非常に便利です。少なくともそれがここで達成したいことです。私は実際に KVC の力を理解していますが、今はそれを機能させる方法を理解しようとしています。
ありがとう!
ニック
出力の下に提案されたコードを追加すると、次のようになります。
オブジェクト: (エンティティ: StatTracker; id: 0x3e1e1b0 ; データ: ) 2010-05-19 11:30:38.173 verses[29526:207] *** 例外 'NSUnknownKeyException' がキャッチされていないため、アプリを終了します。理由: '[ valueForUndefinedKey:] : エンティティ StatTracker は、キー「timesLauched」のキー値コーディングに準拠していません。2010-05-19 11:30:38.174 [29526:207] スタック: (
delphi - Delphi でオートメーションを介してオブジェクト モデルを利用できるようにする: 最も簡単な方法は何ですか?
私たちは Delphi で計算コアをゼロから書き直しており、他の人がそれに対してコードを書けるようにする方法を探しています。
自動化は、これを行うためのかなり安全な方法のようです。私たちが考えている用途の 1 つは、VBA/Office で使用できるようにすることと、.NET アセンブリを生成することです (Automation オブジェクトに基づいているので簡単です)。
ただし、コードは Delphi から簡単に使用できるはずです。これを使用して(デスクトップ)UI を作成するからです。
現在、Delphi でオートメーション サーバーを作成することを検討していますが、タイプ ライブラリ ウィザードでコンポーネントを設計し、ベース コードを生成するのはかなり面倒に思えます。
私たちが実装しなければならない計算は、まだ承認されていない公式の規則と規制に記載されているため、完了する前に変更される可能性があります。最終版を待つという選択肢はありません。
別の方法として、最初にオブジェクト モデル全体を完成させ、最上位オブジェクト switch のみを記述する別のオートメーション サーバーを作成し、$METHODINFO ON
TObjectDispatch を使用してすべての下位オブジェクトを返すこともできます。 私が見たように、IDispatch インターフェイスによってオブジェクトを返すラッパーを作成する必要があります。そこには 100 を超えるさまざまなクラスがあるため、魅力的なオプションとは思えません。
編集: TObjectDispatch は、プロパティやメソッドによって返されるオブジェクトもラップできるほどスマートです。そのため、最上位のオブジェクトのみをラップする必要があります。ただし、完全なタイプ ライブラリがないということは、レイト バインディングしかできないということです。
Delphi で COM アクセス可能なオブジェクト モデルを作成するための、他の簡単な (読み: 手間のかからない) 方法はありますか?
javascript - Javascript オブジェクト/配列の質問?
私はjavascriptオブジェクトモデル(プロトタイプベース)に不慣れで、次のことをしようとしています:
単純に配列を初期化するコンストラクタがあります: this.myArray = []
. 私は方法を持っています:
基本的に、私myArray
は特定の に添付する必要がありますtype
。つまり、addToArray()
が呼び出されると、オブジェクトは に関連付けられた配列に追加されますtype
。可能なすべての型を前もって知る必要はありません。また、特定の型のオブジェクトを保持している配列をクリアするメソッドを追加する必要があります。基本的に、型に関連付けられた配列を動的に作成する必要があると思います。
どんな助けでも大歓迎です。
私の質問は紛らわしいと思うので、詳しく説明します。私の「ビジネス」コードは、追跡する必要があるオブジェクトを作成します。各オブジェクトは、特定の「タイプ」または「フレーバー」に関連付けられています。これらのオブジェクト参照を配列 (型ごとの配列) に格納し、これらのオブジェクトの操作を処理する汎用オブジェクトを作成しようとしています。その後、特定のタイプのすべてのオブジェクトに対して操作を実行できます。事前に型を知らなくてもこれを実行できるようにしたい (つまり、コンストラクターで型ごとに 1 つの配列を作成しないようにする)。
「種類」はなんでもいいです。つまり、文字列「typeA」または「typeB」など。オブジェクトの異なるクラスを区別する方法にすぎません。
c# - EnumType.None または Nullable を使用?
列挙型は通常、ある種のオブジェクト モデルなどで、クラスの特定のプロパティの状態を定義するために使用されます。これらのプロパティの一部では、「このプロパティは設定されていません」という状態が有効です。
このような状況では、ゼロのNone
列挙値を使用するか、プロパティ タイプを null 可能にする必要がありますか?
また
dom - SharePoint - カスタム発行ページ レイアウトのカスタム フィールドをプログラムで設定する
Publishing Article Page コンテンツ タイプに基づいて、カスタムの発行ページ コンテンツ タイプがあります。このコンテンツ タイプには、「PageContentCategory」という名前のカスタム フィールドがあります。新しいページを作成するコードで、これを試しました:
また、フィールド名で設定しようとしました:
これらのメソッドは両方ともエラーをスローします。このようなコードでカスタム フィールドの値を設定する方法はありますか?
objective-c - ドラッグアンドドロップ操作でオブジェクトポインタを渡す
ドラッグアンドドロップ操作でオブジェクトへのポインタを渡すことは可能ですか?
これがシナリオです...
カスタムオブジェクトの「NSArray」があります。議論のために、これは人物オブジェクトのリストであると言います。
NSTableView
リストは、を介して関連付けられていNSArrayController
ます。はNSTableView
ドラッグソースでありNSView
、ドラッグ先としてあります。
NSArrayController
ドラッグアンドドロップを実装すると、ドラッグプロセスでとして現在選択されている人の名前を簡単に取得しNSString
、のレシーバーに渡すことができますNSView
。
ただし、受信者がオブジェクト全体にアクセスできるように、personオブジェクトへのポインターを渡すことができるようにしたいと思います。
問題は、ドラッグ操作によって人物オブジェクトの新しいインスタンスが作成され、人物モデルに必要なメソッドを実装しているにもかかわらず、選択した人物オブジェクトへの参照が作成されないことです。その結果、宛先で人物オブジェクトを取得しましたが、オブジェクトからのデータが入力されていません。
NSView
NSViewは、オブジェクト自体への更新がと(およびオブジェクトが使用される他のすべての場所)の両方に反映されるようにオブジェクト参照を利用するため、理想的にはオブジェクトポインターが必要ですNSTableView
。
ドラッグアンドドロップ操作でオブジェクト参照を使用することも可能ですか、それとも人物オブジェクトのiVarであるカスタム参照を渡し、宛先に到着したらルックアップを実行する必要がありますか?(これは、Obj-cを参照するオブジェクトの量を考えると少し古風に思えます)。
ターゲットがアプリケーションの外部からドラッグ操作を受け入れることができることを理解していますが、ローカル操作として操作を指定すると、これが考慮されますか?
アップルのドキュメントを確認しましたが、まだ答えが見つからないようです。
ありとあらゆる助けが大いに感謝されます。
javascript - JavaScript:.extendと.prototypeは何に使用されますか?
私はJavaScriptに比較的慣れておらず、使用しているサードパーティのライブラリに.extendと.prototypeが表示され続けています。Prototype javascriptライブラリと関係があると思いましたが、そうではないと思い始めています。これらは何に使用されますか?