フォームのDLLを呼び出しているDelphiの世代

ライブラリfrmDll; 

{ DLLメモリ管理に関する重要な注意:ShareMemでなければなりません
  、あなたのライブラリのuses節の最初のユニットと、プロジェクトの(選択
  、あなたのDLLは、任意の手順またはエクスポートする場合は、プロジェクト・ソースの表示を)句を使用して
  パラメータや関数の結果として文字列を渡す機能を。これは
  さえ、これらのこと-あなたのDLLにしてから渡されたすべての文字列に適用され
  たレコードやクラスにネストされています。ShareMemはへのインターフェース部である
  に沿って展開する必要がありますBORLNDMM.DLL共有メモリマネージャ、
  あなたのDLLを持ちます。BORLNDMM.DLLを使用しないようにするには、文字列情報を渡す
  パラメータをPChar型を使用して、またはShortStringの。} 

使用
  sysutilsの、
  クラス、
  フォーム、
  FormDll における ' FormDll.pas '  { をForm1 } ; 

{ $ R&LT .RES * } 

関数 GetDllForm:TFormは、_stdcall ; エクスポート ; // 導出方法を定義し、
開始
  検索結果を: =をForm1; // 関数はフォームのタイプを返し、
終了;
 輸出
  GetDllForm; // メソッド宣言をエクスポートすることができ、

開始
終了




単位FormDll; 

インタフェースが

使用する
  Windowsの、メッセージ、sysutilsの、バリアント、クラス、グラフィックス、コントロール、フォーム、
  ダイアログ、StdCtrlsを、

種類の
  TForm1 = クラス(TFormは)
    BTN1:TButtonの; 
    手順btn1Click(送信者:TObjectを);
   プライベート
    { プライベート宣言} 
  公共
    { 公開宣言} 
  エンド; 

VAR 
  をForm1:TForm1; 

実装

{ $ R&LT * DFM。} 

手順TForm1.btn1Click(送信者: TObjectを);
 開始
  MessageDlg(あなたが成功したコール制御を持っているのDLL 、mtinformation、[MBOK]、0 );
 エンド; 

初期化は // ファイルの終端を初期化部のためのコードを備える、セル内に配置される前に、それがメインです一度だけ実行し、実行するプログラムを実行する前に、
開始
  :をForm1 = TForm1を。作成(アプリケーション);
 エンド; 

ファイナライズ// ときに出口部との間の初期化と終了には、コード単位を含みます。あなたは、プログラムの実行を終了し、一度だけ実行する場合。
開始
  Form1.Freeを; 
エンド; 

エンド





単位testdll; 

インタフェースが

使用する
  Windowsの、メッセージ、sysutilsの、バリアント、クラス、グラフィックス、コントロール、フォーム、
  ダイアログ、StdCtrls; 

タイプの
  TForm1 = クラス(TFormは)
    BTN1:TButtonの; 
    手順btn1Click(送信者: TObjectの)
   プライベート
    { プライベート宣言} 
  公共
    { 公開宣言} 
  ; 

VAR 
  をForm1:TForm1; 
  // 機能GetDllForm:TFormは、

実装

{ $ R * .DFM } 
関数 GetDllForm:TFormは。外部の ' frmDll.dll ' ;  // 声明从函数frmDll.dll中调用函数


手順TForm1.btn1Click(送信者:TObjectを);
VAR 
  AForm:TFormは、
開始
  :AForm = GetDllFormを。
  AForm.Show; 
エンド; 

終わり

おすすめ

転載: www.cnblogs.com/tobetterlife/p/12169918.html