問題タブ [unmanaged]
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# - マネージド(C#)string[]配列をCOMDLLに渡す
セットアップ:
マネージドC#DLL内のメソッドを呼び出すCOMDLLがあります。この関数は、SAFEARRAYにマーシャリングされるC#string[]配列を返します。
問題:
safearray内の文字列にアクセスしようとすると、文字列の最初の文字しか取得されません。私は何が間違っているのですか?
コード:
助けてくれてありがとう、
-Sean!
.net - IJW: 管理されたプロキシ構造?
一部の C++ コードをマネージド .NET に移植する作業を行っています。一部の C++ コードをネイティブ形式で保持する必要があり、それに対して IJW アプローチを使用しようとしています。.NET コードに正しくマーシャリングされるように、アンマネージ構造体を宣言できることはわかっていますが、C++ コンパイラはそうしていないようです。
たとえば、私はこのコードを持っています(マネージド):
コンパイルされますが、リフレクターを使用して見ると、コードは次のようになります。
基本的に、MyStruct のフィールドは .NET から見えません。C++ コンパイラに生成するように指示する方法はありますか?
答えるときは、これを考慮してください。私は、.NET フレームワークから見えるマネージ クラスを作成する方法を知っています。私はこれを行うことに興味がありません。私が望むのは、C++ コンパイラがアンマネージ構造体を .NET が理解できる方法で宣言することです。
c# - マネージプロセスまたはスポーンプロセスからアンマネージコードを呼び出す
管理されていないC++exeがあり、C#コード内から直接呼び出すことができます(libを作成できるC ++コードがあります)。または、プロセスを生成してOutputStreamからデータを取得します。オプションの長所/短所は何ですか?
.net - 非CLRコードを.NETアプリにリンクする
Visual C ++、. NET、およびWindowsのプログラミングの世界(Objective-C / Cocoaから提供)を初めて使用し、.libにコンパイルしたCFLite(Open CoreFoundation Lite)ライブラリを使用しようとしています。ファイル。純粋なアンマネージドCで記述されており、マネージドCLR.NETアプリで使用したいと思います。リンクして__CFStringMakeConstantStringのショートカットである関数CFSTRを使用しようとすると、ひどく失敗します。何かアドバイス?添付されているのはエラーです。
更新:とにかくユーザーインターフェイスが最小限になるため、Win32呼び出しを使用するネイティブアプリケーションを使用することになりました(これはバックグラウンドアプリです)。私はp/invokeで少し遊んだのですが、私のような初心者にとっては複雑に思えました:pありがとう!
.net - Vista (.net) のみの問題: スレッドから管理されていない dll (Shell32.dll、関数: SHEmptyRecycleBin) を呼び出す
******** プラットフォーム: Vista (ultimate または home/premium) では動作しません。その他の OS (xp、windows7) では動作します************
スレッド内で c++.net (または c#.net) を使用してごみ箱を空にしています。これをまっすぐに(スレッドなしで)行うと、機能します。しかし、スレッドが使用されている場合はそうではありません。以下のコード スニペットをご覧ください。
ここで問題は何ですか...?
.net - .net でアンマネージ コードを使用する
ケース:
アンマネージ C コードを呼び出す .net アプリケーションがあります。これに使用される方法:
これは Windows フォーム アプリケーションで使用され、必要なファイル名は OpenFileDialog によって取得されます。コード:
問題:
Windows フォーム アプリケーションでコードを数回実行すると、openFileDialog が壊れて次の例外が表示されます。
解決策を探す場合:
OpenFileDialog の「より信頼性の高い」使用を試みても役に立ちません。このソリューションのように(リンクを提供しようとしましたが、「新しいユーザーはハイパーリンクを追加できません」:)):
使用法 :
質問:
例外は本当にアンマネージ コードが原因ですか? 他の可能性のある問題 (OpenFileDialog とは異なるものを壊す) が予想されますか? これに対するより良いアプローチは何ですか?
すべてのアイデア/ソリューションに感謝します。
c# - C# から C++ コードを呼び出すことは可能ですか?
おそらくコード ライブラリ ファイル (.dll) としてコンパイルされた C++ コードを、C# などの .NET 言語内から呼び出すことはできますか?
具体的には、RakNet ネットワーク ライブラリなどの C++ コードです。
vb.net - VB からアンマネージ DLL を呼び出す
VB.NET でアンマネージ DLL への関数呼び出しを行うための構文を見つけるのに苦労しています。誰もこれに精通していますか?
アンマネージド DLL "Connector.DLL" に関数 "Connected" があるとします。抽象関数呼び出しを作成して、この関数を呼び出したいと思います。
私はいくつかのコードを見てきました
しかし、その構文は私にはうまくいきません。
c# - 'GC.Collect'を実行するとクラッシュは修正されますが、理由がわかりません
私はこのコードを持っています(C#のNokia PC Connectivity 3.2サンプルコードから):
これの最初に実行するGC.Collect()
と、は取得されませんAccessViolationException
。しかし、必要な場合を除いて、この機能を遅くしたくありません。いろいろなところに置いてみましたが、うまくいきませんGC.Keepalive
でした。
CA_FOLDER_INFO
と定義されている:
この場合、どちらの文字列も必要ありません。定義を変更するとIntPtr
、例外がなくなるようです。
ここで何が起こっているのか、そして例外を防ぐ正しい方法は何ですか?
spring - @Componentで注釈が付けられたアンマネージBeanの自動配線
@AutoWiredを使用して、@Componentで構成された非管理対象Beanを管理対象Beanに注入したいと思います。構成が正しいことは確かですが、何らかの理由で例外が発生し続けます。
エラーから、Bazクラスが見つからないと思いますが、理由はわかりません。XML構成のcontext:spring-configured要素がこれを可能にするはずだったと私は理解しています。また、適切なjarファイル(spring-weaving.jarおよびaspectjweaver.jar)を含めるようにしました。
これが私のセットアップの簡単な例です。
私のXML構成:
管理対象のBeanが1つあります。
そして、1つの管理されていないBean:
足りないものはありますか?
編集:ログにはインスタンス化されているBeanがリストされており、foo.Bazはその1つではありません。@Component注釈付きクラスを取得しない理由がわかりません。