問題タブ [activex]
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.
c++ - コンソール アプリケーションでの ocx の使用
ocx をすばやくテストしたい。その ocx をコンソール アプリケーションにドロップするにはどうすればよいですか。CodeProject でいくつかのチュートリアルを見つけましたが、不完全です。
javascript - アクティブ X コントロール JavaScript
同僚と私は、アクティブな X コントロールを使用してページ上の Web カメラを操作しなければならないという厄介な状況に遭遇しました。
Active X コントロールのボタンに JavaScript イベント ハンドラーを割り当てて、クリックしたときにページ上でアクションを実行することは可能ですか。それとも、Active X コントロールを操作する HTML ページ自体にボタンを作成する必要がありますか?次に、ページで必要なアクションを実行できますか?
security - ブラウザにローカル アプリケーションを起動させない正当な理由
これは簡単なことかもしれませんが、読んでください。
また、イントラネットのコンテキストであっても、ブラウザーを実行してローカル アプリと対話させることは、一般的には良い考えではなく、最悪の場合もあると考えられていることも知っています。
私たちはホームオフィスに Citrix を使用していますが、人々はそれをとても気に入っています。現在、彼らは職場でも同じような環境、つまりすべての重要なアプリケーション/ドキュメント/フォルダが適切に配置され、整然と分類されている素敵なページを望んでいます。これらの人々は特に技術に精通しているわけではありません。リモートで配布されたアプリケーションとローカルで配布されたアプリケーションの違いを彼らが理解できるとは考えもしませんでした。
それで、可能かどうか尋ねられました。もちろん、それは IE の古き良き ActiveX コントロールを使用した場合です。そして、私は実用的なプロトタイプを作成しました(それが痛いところです)。
しかし今、私は疑います。「ローカル イントラネット」ゾーンであっても、このような「危険な」ActiveX コントロールを許可するのは狂気ではないでしょうか。人々は同じブラウザーを使用して Web を閲覧しますが、IE を完全に信頼できますか? Microsoft が将来の更新/バージョンでこれらのコントロールを無効にするリスクはありませんか? Web サイト、または何らかの種類のマルウェアが別のサイトを信頼リストに追加した場合はどうなるでしょうか? その程度の制御があれば、すべての保護をアンインストールして、IT 部門に絞首刑に処せられるまで暴走することもできます。
私は上司に、それが実行可能であることがわかったとしても、それは非常に悪いことだという事実を突きつけようとしています. ですから、「やめましょう」ではうまくいかないので、私は切実に説得力のある適切な議論を必要としています。
もちろん、何も怖がらないのならそれでいい。しかし、私はそれを強く疑っています。
vb6 - ActiveXコントロールのデフォルトのプロパティ検出
ActiveXコントロールのどのプロパティがデフォルトのプロパティであるかを判断することは可能ですか?たとえば、VB6コントロールのCommandButtonのデフォルトのプロパティは何ですか?また、他のコントロールのデフォルトをどのように見つけることができますか?
/編集:オブジェクト自体へのソースがない
javascript - ActiveX オブジェクトから JScript に文字列の配列を返す方法
一連の文字列を取得するには Win32 API を呼び出す必要があり、これらの文字列の配列を JavaScript に返したいと考えています。これは、Web ブラウザ用ではなく、管理スクリプト用にローカル マシンで実行されるスクリプト用です。
COM オブジェクトの IDL ファイルには、次のように呼び出しているインターフェイスがあります。
関数は正しく戻りますが、文字列が JavaScript の変数に割り当てられると「失われます」。
問題は、JavaScript 変数に返される文字列の配列を取得する適切な方法は何ですか?
javascript - 内部の Windows 認証イントラネットで複数のファイルのアップロードを許可するにはどうすればよいですか?
いくつかの解決策がありますが、完全に機能するものはありません。
プラットホーム
- ASP.NET / VB.NET / .NET 2.0
- IIS6
- IE6 (主に)、一部の IE7。Firefox は必須ではありませんが、便利です
許可されたサードパーティ オプション
- 閃光
- ActiveX (避けたい)
- Java (避けたい)
現在の試行
Gmail スタイル: JavaScript を使用して新しいアップロード要素 (input type='file') を追加し、ボタンをクリックするだけでそれらを一度にアップロードできます。これは機能しますが、それでも多くのクリックが必要です。(目に見えない ActiveX コントロールを使用して、ファイル サイズなどを検出することができました。これは便利です。)
Flash アップローダ: 1x1 のフラッシュ ファイルを使用してアップローダとして機能し、javascript で呼び出し可能な Flash Upload コントロールをいくつか発見しました。(そのようなコントロールの 1 つはFancyUpload、もう 1 つはDojo の Multiple File Uploader、さらにもう 1 つはCodeProject の darick_cによるものです。) これらは私を興奮させましたが、すぐに 2 つの問題に遭遇しました。
- Flash 10 では、複数ファイルのアップロード ダイアログ ボックスを呼び出すために使用される機能が壊れます。回避策は、透明なフラッシュ フレームを使用するか、フラッシュ ボタンを使用してダイアログ ボックスを呼び出すことです。それは大したことではありません。
- イントラネットで使用されている統合 Windows 認証は、Flash ファイルがファイルをアップロードしようとするときに使用されず、ユーザーに資格情報の入力を求めます。これを回避するには、Cookie を使用しないセッションを使用します。これは、他のいくつかの理由により、プロジェクトにとって悪夢となります。
Java アップローダ: Java ベースの複数ファイル アップローダがいくつかあることに気付きましたが、そのほとんどはお金がかかるようです。本当にうまく機能するものを見つけたら、それを購入するように手配できます. 私はむしろしないでください。私はそれらのほとんどの外見も好きではありません。私が FancyUpload を気に入ったのは、それが html/javascript とやり取りして、好きなように簡単にスタイルを設定したり管理したりできるからです。
ActiveX Uploader : ActiveX ソリューションも見つけました。ActiveX が動作するようです。それを買う代わりに、自分で書くだけです。これが最後の手段になると思います。
解像度
FancyUpload のようなものを使用できるようになりたいです。何らかの方法で資格情報のプロンプトを処理できれば、完璧です。しかし、私の調査によると、唯一の実際の回避策は Cookie を使用しないセッションであり、私にはそれができないようです。
したがって、質問は次のとおりです。上記の問題を解決する方法はありますか、または同じ目標を達成する、私がリストしていない別の解決策がありますか?
.net - .NetのActiveXコントロールでアプリケーションの検出がハングする
スクリーンスクレイピングアプリケーションのアップグレードに取り組んでいます。ActiveXコントロールを使用して、IBMメインフレームから画面をスクレイプしています。メインフレームプログラムが頻繁にハングしてActiveXコントロールをクラッシュさせ、アプリケーションがクラッシュします。メインフレームまたはActiveXソースコードにアクセスできません。独自のActiveXコントロールを作成するつもりはありません。
ActiveXコントロールをカプセル化して、アプリケーションがコントロールでハングしていることを検出し、プロセスを強制終了してコードで再起動できるようにするための最も簡単な方法は何ですか?
2つの別々のアプリケーションを作成する必要がありますか?一方は他方をチェックし、ハングしたときにプロセスを強制終了/再開するコントローラーとしてですか?
それらは別々のアプリドメインに存在する必要がありますか?別々のアプリドメインにある場合でも、2つのプログラムが相互に通信することは可能ですか?
c# - Excelで実行されるC#でActiveXコントロールを作成することは可能ですか?
.NETを使用してExcelで使用するカスタムActiveXコントロールを作成する方法に関するサンプルコードをWebで検索してきましたが、これまでのところ、サポートされていないことを示唆する古い記事を見つけました。
私たちが構築しているアプリケーションは、レポートライターとしてExcelを使用しているため、ワークシートにカスタムコントロールを追加して、より豊かなエクスペリエンスを提供します。これまでに行った調査から、一部のActiveXコントロールはIEでのみホストできるようです。したがって、どのようなアプローチでも、Excelをホストとして使用できるようにする必要があります。
リンクhttp://www.codeproject.com/KB/miscctrl/exposeddotnetcontrols.aspxには、次のことが記載されています。
警告:このサポートは.NETのBeta2から削除されたため、PCを揚げたり、猫を乾杯したりしても、私を責めないでください。
.NET 1.1を使用して可能かどうか、また可能であれば、ベストプラクティスに関する指針を教えてもらえますか?
c++ - Internet Explorer が ActiveX コントロールを適切にアンロードできないのはどのような状況ですか?
作成中の ActiveX コントロールで複雑な問題が発生しています。Internet Explorer が、プロセスのシャットダウン時にコントロールを適切にアンロードできないように見えることがあります。これにより、コントロール インスタンスのデストラクタが呼び出されなくなります。
コントロールは C++ で記述され、ATL を使用し、Visual Studio 2005 を使用してコンパイルされます。コントロール インスタンスのデストラクタは、ユーザーがコントロールが埋め込まれているページから離れてブラウズするときに常に呼び出されます。問題は、ブラウザが閉じられている場合にのみ発生します。
デバッガーで IE を実行しても異常は見られません - デバッガーは例外、アクセス違反、またはアサーションの失敗をキャッチしませんが、問題はまだ残っています - コントロールのデストラクタにブレークポイントを設定できますが、決してブラウザを閉じるとヒットします。
さらに、コントロールの複数のインスタンスを埋め込んだ単純な HTML ページをロードしても、問題は見られません。この問題は、Web ページに動的にタグを挿入する Web アプリケーションからコントロールがインスタンス化された場合にのみ発生するようです。しかし、これはデータに依存しているため、IE の問題である可能性があることを示しているようです。
デバッガーで簡単なテスト ケースを実行すると、コントロールのデストラクタにブレークポイントを設定でき、毎回ヒットします。これにより、コントロール自体の問題が除外されると思います(たとえば、インターフェースリークのように、デストラクタが呼び出されないようにするエラーなど)。
私はほとんどのテストを IE 6 で行っていますが、IE 7 でも問題が発生するのを見てきました。IE 8 はテストしていません。
私の現在の作業仮説は、動的 HTML コードに、ブラウザーが ActiveX コントロールのインターフェイスをリークさせる何かがあるというものです。これまでのところ、これをアプリケーションの外部で再現する優れたテスト ケースを作成できませんでした。また、アプリケーションが大きすぎて、適切なテスト ケースを作成できませんでした。
この種の動作を引き起こすことが知られている IE のバグの可能性について、誰かが洞察を提供できることを期待していました。ちなみに、以下に示す回答は一般的すぎます。これを引き起こすことが知られている特定の状況を探しています。きっと誰かがこれを前に見たことがあるでしょう。
64-bit - AxAcroPDF - Vista64 クラスが登録されていないというエラー
AxAcroPDFLib.AxAcroPDF コンポーネントを使用して PDF ファイルを読み込んで印刷する C# で記述された WinForms アプリケーションがあります。Windows XP で問題なく動作しています。開発環境を Vista 64 ビットに移行しましたが、AxAcroPDF コンポーネントを削除しない限り、(Vista 64 で) アプリケーションが実行されません。アプリケーションの実行時に次のエラーが発生します。
「System.Runtime.InteropServices.COMException: クラスが登録されていません (HRESULT からの例外: 0x80040154 (REGDB_E_CLASSNOTREG))」。
Adobe フォーラムで、エラーの理由は、AxAcroPDF ActiveX コントロールの 64 ビット バージョンがないことが原因であるとアドバイスを受けました。
この問題を回避する方法はありますか? たとえば、自分で 32 ビット ActiveX コントロールを 64 ビット コントロールに変換できますか?