Borland Delphi 8のVCLフォームにSoftAdを組み込む例を示します。他のバージョンでは一部を変更する必要があるかもしれません。

Unit1.pas

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, System.ComponentModel, Borland.Vcl.Menus, Borland.Vcl.StdCtrls;

type
  TForm1 = class(TForm)
    MainMenu1: TMainMenu;
    N1: TMenuItem;
    X1: TMenuItem;
    Label1: TLabel;
    procedure ExitClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
  protected
    procedure WndProc(var Message: TMessage); override;
  end;

  { SoftAd.dll内の関数を宣言 }
  function SA_Initialize(hw:HWND; hMenu:HMENU; fc:Integer; softId:Integer): LRESULT; stdcall; external 'SoftAd.dll';
  procedure SA_Cleanup(); stdcall; external 'SoftAd.dll';
  procedure SA_InitMenuItem(mi: LPARAM); stdcall; external 'SoftAd.dll';
  procedure SA_DrawMenuItem(di: LPARAM); stdcall; external 'SoftAd.dll';
  

var
  Form1: TForm1;

implementation

{$R *.nfm}

{ ウィンドウプロシージャ }
procedure TForm1.WndProc (var Message: TMessage);
begin
  case Message.Msg of
    WM_MEASUREITEM:
      SA_InitMenuItem( Message.LParam );
    WM_DRAWITEM:
      SA_DrawMenuItem( Message.LParam );
  end;
  inherited WndProc(Message); { ウィンドウメッセージをデフォルトのウィンドウプロシージャへ転送 }
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  SA_Initialize( Handle, 0, 0, 0 );
  { ソフトウェアをSoftAdシステムに登録した後は、第4パラメータにソフトIDを指定してください }

end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
  SA_Cleanup();
end;

procedure TForm1.ExitClick(Sender: TObject);
begin
  Close;
end;

end.

手順

上のプログラムの主な作成手順は次のとおりです。ただし、上のサンプルにある[ファイル]−[終了]メニューや「Hello World!」の表示は省略しています。

  1. Delphi環境で、[ファイル]−[新規作成]からVCLフォームアプリケーションを新規作成します。
  2. [デザイン]画面で、ツールパレットからメニュー(TMainMenu)をフォームにドラッグします。
  3. フォーム全体を選択した状態で、オブジェクトインスペクタの[イベント]タブを表示し、[その他]の[OnCreate]と[OnDestroy](の右側のコンボボックス)をダブルクリックして、それぞれのハンドラ(のスケルトン)を作成します。
  4. [コード画面]で、上の赤いコードを追加します。
  5. プロジェクトのフォルダにSoftAd.dllを置き、プログラムを実行します。

戻る


SoftAd  Copyright © Tama Software Ltd.