私は現在、簡単だと思っていた小さな問題を抱えていますが、そうではありません(簡単かもしれませんが、わかりません) String^ を String^* に変換する必要があるので、基本的に文字列ポインタ、コードの小さなスニペット:
ARPLC_command_byuser = textBox1->Text;
私はすでにさまざまな方法を試しましたが、すべて失敗しているようです(まあ、そうではありません)。
心当たりがあれば、どうすればよいか教えてください。
それは可能ではありません。ガベージ コレクターがヒープを圧縮すると、マネージ オブジェクトがメモリ内を移動します。これにより、ポインターが無効になります。これが、C++/CLI がオブジェクト参照を示すために ^ ハットを使用する主な理由です。これらは、オブジェクトが移動されたときにガベージ コレクターが認識して更新できるフードの下のポインターです。
技術的には、管理対象オブジェクトを固定して移動しないようにすることができます。pin_ptr<> または GCHandle::Alloc() でできること。これは避けるべきです。Marshal クラスを使用してマネージ文字列をアンマネージ メモリにコピーすることにより、マネージ文字列をネイティブ ポインターに変換します。