ライブラリ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; エンド; 終わり。
フォームのDLLを呼び出しているDelphiの世代
おすすめ
転載: www.cnblogs.com/tobetterlife/p/12169918.html
おすすめ
ランキング