Visual C++での使い方

  1. Visual Studio .NETで、[新しいプロジェクトの作成]を選択します。
  2. [C++]-[Windows]-[CLR空のプロジェクト(.NET Framework)]を選択します。
  3. メニュー-[プロジェクト]-[参照の追加]を選択します。
  4. [参照]タブで、"\API" ディレクトリー配下の“RCAPINt2.dll”ファイルを選択します。
    • .NET Frameworkの場合 : \Assembly\net462
    • .NET6の場合 : \Assembly\net6.0-windows
  5. メニュー-[プロジェクト]-[新しい項目の追加]-[UI]-[Windowsフォーム]を選択します。
  6. 追加したフォームのcppファイル (例: Form1.cpp)を開き、以下のソースコードを追記します。
#include "Form1.h"  

 using namespace SampleProject;  // 作成したプロジェクト名
 void main() {
    Application  EnableVisualStyles();
    Application  SetCompatibleTextRenderingDefault(false);

    Form1 frm;  // 追加したフォーム名
    Application Run(% frm); 
 }
  1. メニュー-[プロジェクト]-[プロジェクトのプロパティ] を選択します。

  2. プロパティページの[構成プロパティ]-[リンカー]-[システム]を選択し、サブシステムから “Windows (/SUBSYSTEM:WINDOWS)”を選択します。

  3. プロパティページの[構成プロパティ]-[リンカー]-[詳細設定]を選択し、“エントリーポイント”に手順 (6)で追記した関数名を入力します。ここでは、“main”と入力します。

  4. [OK]ボタンをクリックします。

キーポイント


設定後、一度ソリューションのビルドを実行し、エラーがないことを確認してください。エラーが発生しないことを確認後、ソリューションを閉じて、再度開くことを推奨します。

  1. Form1クラスで、下記のSpel変数を宣言します。
private:RCAPINet::Spel^ m_spel;  
  1. Form_Loadイベントで、下記の初期化コードを追加します。
private:System::Void Form1_Load(  
   System::Object^ sender, System::EventArgs^ e)  
{  
   m_spel = gcnew RCAPINet::Spel();  
   m_spel->Initialize();  
   m_spel->Project =  
      "c:\\EpsonRC80\\projects\\ API_Demos\\Demo1\\demo1.sprj";  
   m_spel->EventReceived += gcnew  
      RCAPINet::Spel::EventReceivedEventHandler(  
      this, &Form1::m_spel_EventReceived);  
}
  1. 下記のイベントハンドラーを追加します。
private:System::Void m_spel_EventReceived(  
   System::Object^ sender, RCAPINet::SpelEventArgs^ e)  
{  
   MessageBox::Show(e->Message);  
}  

キーポイント


アプリケーションを終了する場合、各Spelクラスインスタンスに対してDeleteを実行しなければなりません。これはメインフォームのFormClosedイベントで実行できます。Deleteを実行しない場合、アプリケーションは正常に終了できません。

delete m_spel;