問題タブ [createobject]
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.
iis - IIS 5.1 の localhost でのランタイム エラー 438 (オブジェクトはこのプロパティまたはメソッドをサポートしていません)
私の開発XPでASP用のVB6でActiveX DLLを開発しています - VB環境ではすべてうまくいきます - CreateObjectによってDLLをレイトバウンドでインスタンス化しても問題ありません(私はGUIDで作業しません)。
ASP では常に 438 エラーが発生します。これは同じマシン上にありますが、すべての特権を持つスーパーユーザーの下にあります (IUSR_machine に最高の特権を与えました)。
私はすでに3日間燃えましたが、解決策が見つかりませんでした。私はすべての開発をこのマシンで行っており、このような問題は一度もありませんでした (たとえば、「走っている馬を決して変更しない」) ため、IIS のアップグレードをためらっています。
IIS が欠落していると考えるリソースを見つける方法のリンクを教えてくれる人がいるかもしれません。DependencyWalker には IESHIMS.dll と WER.dll がありませんが、tyranid によればこれは無視できます。Sysinternal の REGMON がこのジョブを実行できることは知っていますが、どのようにフィルタリングするのでしょうか?
ヒントをありがとう - 他に可能性がない場合は、IIS をアップグレードします。
vb.net - VB.NET CreateObject dllのあいまいさ
次のことを手伝ってもらえますか
コード内で Some.dll バージョン 5.0 を使用しようとしています。ただし、Excel には同じ dll に対する複数の参照があり、4.0 などの以前のバージョンでは次のように実行します。
Tools->References で最新の Some.dll の参照を作成したとしても、それはいくつかの機能を持たない最も古い dll の 1 つを呼び出します。
レジストリを変更したり、コンピューターからプログラムを削除したりする管理者権限がありません。
どうにかして最新バージョンの dll への参照を設定することは可能ですか?
私は試した:
ただし、機能していません(「ActiveX ...オブジェクトを作成できません」)
ネット全体を調べましたが、特定のdllパスでオブジェクトを作成する方法についてのアドバイスが見つかりませんでした。
助けてください、ありがとう: ジム
vbscript - VBScript と CreateObject の問題
VBScript についてはあまり実験していませんが、フォーラムを通じて多くのことを読む機会があり、実際に昨日、スクリプトが機能しない理由を調べて解決策を見つけた人を助けました。そのため、このスクリプトをローカルで変更し、自分のやり方で実行しましたが、他の人の側ではオブジェクトの 1 つを初期化できませんでした。
有罪判決の行は次のようになります
別の人は、WScript のことを削除するように言われましたが、質問者側では機能しているようです。
私は最初、私の側で Wscript.exe を使用し、その人側で CScript.exe を使用することに関連している可能性があると考えました (私の仮説) が、コマンドラインでこれをチェックアウトしたところ、とにかく機能しました。それで、私が知りたい、理解したいのは、なぜこれが起こっているのですか?CreateObject を呼び出すスクリプトが "WScript" で機能するのはなぜですか。しかし、別のシステムでは、その「WScript」を削除する必要があります。それを機能させ続けるには?お時間とご回答ありがとうございます。;) よろしくお願いします。
asp-classic - Server.Create Object Failed エラー
古い ASP コードをデバッグしていて、次のエラーに遭遇しました。
Server.CreateObject に失敗しました
エラーが発生したコード行は次のとおりです。
DBUtils.SQLExpression はどこにありますか? コード内でそれへの参照が見つからないようです。どのように設定されていますか?
bin フォルダーに DBUtils.dll があります。DLL の内部を調べて、そこに SQLEXpression メソッドがあるかどうかを調べる方法はありますか?
vb.net - .NET で作成された COM クラスへの VBA オブジェクト変数の早期バインドを有効にする方法
COM クラス ライブラリ (.NET ベース) で早期バインディングをサポートするのに問題があるようです。
Office 2003 VBA (および後で Office 2010) で使用するために、VB.NET 2003 でクラス ライブラリを作成しています。ドキュメンテーション @ StackOverflow および他の場所で、このコードにたどり着きました。
ソリューションは、COM Interop でコンパイルするように設定されています。正常にビルドされ、ProgID が VBA の参照リストに表示されます。
これを VBA で使用するには、適切な参照を設定してから、適切な型の変数を宣言し、クラスをインスタンス化します。ここが神秘的なところです。
そのため、ライブラリを参照し、適切な型のオブジェクト変数を宣言し、クラスをインスタンス化できますが、インスタンス化されたオブジェクト参照を型付き変数に割り当てることはできず、Object 型の変数にのみ割り当てることができます。また、New キーワードのインスタンス化はサポートされているように見えますが (Intellisense はライブラリとクラスをオプションとして提供しています)、実行時に失敗します。
VB.NET コードまたはビルド設定に欠けているものは何ですか? 事前バインディングが機能しません。
PS: 私の問題を別の言い方をすれば、この StackOverflow スレッドで解決策を試してみたところ、AnthonyWJones が言っていることがわかりました。
dll を参照して、事前バインディングを使用することもできます。
私の場合は真実ではありません... :-(
javascript - javascript 内のコンポーネントに createObject メソッドがありません
次のようなコンポーネントをインライン化しました
今、次のような新しいオブジェクトを作成しようとしています
movie_delegate.createObject
しかし、そのような方法はありません。しかし、私がこれを好きなら:
すべて正常に動作します。
com - エクスポートされたアプリケーションを介してインストールされたCOM+オブジェクトをインスタンス化できません
コンポーネントサービスを使用してMSIにエクスポートされ、テストサーバーにインストールされたCOM+アプリケーションがあります。Webアプリケーション(ASP)は、COM+アプリケーションから使用するオブジェクトをインスタンス化できません。
COM +アプリケーションは、VB6に組み込まれた3つのDLLで構成されています。データ、アプリケーション、プレゼンテーションの各レイヤーにそれぞれ1つのDLLがあります。Webアプリケーションは、プレゼンテーション層のオブジェクトのみを使用します。COM + DLLは、COMを介して公開されたいくつかの.NETDLLを呼び出します。
Webアプリケーションを実行すると、HTTP 500 - Internal Server Error
が返されます。アプリケーションまたはシステムログにエラーは表示されません。
を使用してVBScriptからオブジェクトをインスタンス化しようとしましWSH.CreateObject
たが、データレイヤー内のオブジェクトに対してのみ機能します。アプリケーションまたはプレゼンテーション層でオブジェクトを作成しようとすると、次のエラーが発生します。
VBScriptで失敗するため、ASPアプリは問題なく、問題があるのはCOM+アプリケーションであると思われます。
追加情報
COM +アプリケーションをアンインストールし、VBScriptを実行してインスタンス化をテストしようとすると、別のエラーが発生します。
エラーが異なるため、COMはインストール時に少なくともCOM +オブジェクトを検出しているように見えますが、それらをインスタンス化することはできません。
また、ProcessMonを使用してスクリプトを監視してみました。WScript.exe(COM経由)がレジストリにProgIDを照会し、次にCLSIDを照会しているのがわかります。最終的に、DLLへのパスがプルバックされ、svchost.exeとdllhost.exeがCLSIDを使用してレジストリに同じ情報を照会し、DLLへのパスも取得します。最終的に、DLLはそれに対してイメージのロード操作を行い、その後にmsvbvm60.dllに対して同じ操作を行います。COM+DLLへのアクセスの失敗を示すものは何も表示されません。
COM+アプリケーションを別のWin2k3サーバーとWindowsXPデスクトップにインストールしてみました。データレイヤーDLLからオブジェクトをインスタンス化できるのと同じ結果が得られますが、アプリケーションおよびプレゼンテーションレイヤーDLLからはインスタンス化できません。また、アプリケーション層DLLの古いコピーを取得しようとしましたが、そこからオブジェクトを正常にインスタンス化できます。ただし、2つの異なるバージョンのプロジェクトファイルを比較すると、この問題の考えられる原因として目立つものはありません。
asp-classic - Windows Server 2003 上のクラシック ASP
新しくインストールした仮想サーバーですべて (IIS、Web サイト、アクセス許可) を構成した後、default.asp
ファイルを実行するとこのエラーが発生します。
ASP 0177の投稿は非常に役に立ちました。しかし、私はそれを解決することはできません。このような解決策を提供します
どのサービスを登録する必要がありますか? IIS をインストールすると、ASP は Server 2003 に自動的にインストールされませんか? そうでない場合、どの設定を変更する必要がありますか? これは新しくインストールされた仮想 Windows Server 2003 ですか?
編集:このリンクは機能すると思いますが、ASP Win Svr 2003 はわかりません
EDIT2 : コード:
c# - VB6:CreateObjectを呼び出すときの実行時エラー424
VB6で使用したいC#COMアクセス可能なdllを作成しました。TLBへのハードリファレンスを使用して、COMオブジェクトをVB6で使用できました。私が今やろうとしているのは、この参照を削除して動的にロードすることです。次のように作成しています。
2行目にヒットすると、ランタイムエラー424「ObjectRequired」が発生します。しかし、私がそれを次のように作成するとき:
正常に動作します。なぜそれが違いを生むのかわかりません。とにかく、私はまだ物理的な参照を持っている必要があるので、2番目のものを使用することはできません。
また、COMオブジェクトコンストラクターのファイルに実際に呼び出されるかどうかを書き込むための一種のデバッグとしても試しました。はい、そうです。コンストラクター内でCOMオブジェクト内の他のメソッドを正常に呼び出すこともできます。
次を使用して、動的にロードして別のC#アプリから使用することもできました。
以前にそのようなものに遭遇した人はいますか?
entity-framework - Entityframework、新しいオブジェクトの作成を制御します
クラスTransactionのオブジェクトを更新しようとしています
要素PaidForUsersは、Userオブジェクトのコレクションです。
ここで、Idは自動生成され、UserIdはコードによって提供されます。
私がやろうとしているのは、新しいトランザクションを作成するときはいつでも、ユーザーがデータベースにまだ存在していない場合にのみ、新しいユーザーを作成する必要があるということです。
現在、DbContext.Transactions.Add(new transaction)を使用しています。これにより、新しいトランザクションを作成するたびに、データベースに新しいユーザーが作成されることは明らかです。
私が現在採用している解決策は、同じことを行おうとするユーザーエンティティに対してのみカスタムストアドプロシージャを使用することです。しかし、その中で次のエラーが発生します
データベースへの変更は正常にコミットされましたが、オブジェクトコンテキストの更新中にエラーが発生しました。ObjectContextが一貫性のない状態になっている可能性があります。内部例外メッセージ:オブジェクトのキー値がObjectStateManager内の別のオブジェクトと競合しているため、AcceptChangesを続行できません。AcceptChangesを呼び出す前に、キー値が一意であることを確認してください。
これがストアドプロシージャです-
誰かがこれを行うための最良の方法を教えてもらえますか?ストアドプロシージャを作成することは、それを実行する正しい方法ですか?