カスタム作業計算ルーチン用 Opercalc DLL の作成

SyteLine の設定プログラムによって、opercalc50.dll の標準バージョンが \winnt\system32 ディレクトリにインストールされます。この dll には、ol_opercalc ルーチンのダミーバージョンが含まれています。ol_opercalc カスタムルーチンを組み込んだ opercalc50.dll をカスタム化して作成し、標準の opercalc50.dll の代わりに使用する必要があります。

この dll を作成するには、次の手順に従います。

  1. Visual C++ で、空の Win32 ダイナミックリンクライブラリプロジェクトを新規に作成します。
  2. Microsoft C ソースコードファイルをプロジェクトディレクトリに移します。
  3. プロジェクトのソースファイルフォルダにソースコードファイルを追加します。戻り値が倍精度型であることを確認します。戻り値は、生産に有効な期間中に、指定した資源を使用して、指定数の部品を製造するのに必要な合計作業時間(時間表記)を表しています。
  4. 定義ファイル(下に表示)をプロジェクトディレクトリに移します。定義ファイルフォルダが存在する場合、そのフォルダに定義ファイルを追加します。定義ファイルフォルダを作成しなければならない場合があります。
  5. プロジェクトの設定を調整します。たとえば、次のような調整を行う必要があります。
    • 作成した dll ファイルの名前を opercalc50dll にします。
    • ヘッダファイル ol_api.h の格納場所を指定します。この参照が必要な理由は、受け渡しされる構造体宣言(opercalc_s)がこのヘッダファイルに記載されているからです。これは、$(OLXDIR50)\include のようにして参照できます。

    次に示すコード生成オプションを用いてコードをコンパイルし、システムの実行可能ファイル呼び出しに必要なオプションに合わせる必要があります。

    • __stdcall 呼び出し規則
    • マルチスレッド
    • 8 バイト構造体メンバアラインメント
  6. デバッグフォームまたはリリースフォームのどちらかで、プロジェクトをビルドします(各フォームで別個の設定があります)。何か問題が生じた場合、[ビルド] タブにメッセージが表示されます。問題があれば、ソースコードまたはプロジェクト設定を変更して問題を修復します。
  7. 新しい opercalc50.dll ファイルを計画サーバにある関連するプランナプロジェクトのフォルダに移します。たとえば、プロジェクト名が Alt000 の場合、dll は \Planner\Projects\Alt000 に置きます。
    注:  APS プロジェクトを削除した場合、opercalc50.dll を含め全てのフォルダとファイルが削除されます。したがって、プロジェクトフォルダに Visual C++ ソースコード(手順 1 に記載した)を入れないようにしてください。

定義ファイル例

             ;--------------------------------------------------
				         ; OPERCALC50.DEF DLL library module definition file
				         ;--------------------------------------------------          LIBRARY
				OPERCALC50 INITINSTANCE          DESCRIPTION 'SyteAPS V5.0 OperCalc', Copyright
				© 2010 Infor. All rights reserved. www.infor.com'          ;          EXPORTS
				         ol_opercalc = _ol_opercalc@4          _ol_opercalc = _ol_opercalc@4