プロジェクトをDLL化して、別iプロジェクトで呼び出すには?

解決


鷹羽 あずさ  2002-04-10 20:01:51  No: 772

こんにちは  鷹羽あずさと申します。早速ですが質問です。
Delphiのプロジェクト(多数フォームを含む)全体をDLL化して、別のDelphiから
呼ぼうと考えているのですが、どうしてもうまくいきません。
どなたか、御教授お願い致します。以下失敗したサンプルコードを添付致します。
呼び出し側はプロジェクトFileのみ、DLLがわはライブラリ1・フォーム2です。

呼び出し側です
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;
(中略)

var
  Form1: TForm1;
  function FncForm(): integer; external 'Keisan.dll';

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
  Retrun: integer;

begin

  Retrun := FncForm();
  button1.Caption := varTostr(Retrun);

end;

end.

↓ここよりDLL側です
library Keisan;

uses
  SysUtils,
  Classes,
  SubA01 in 'SubA01.pas' {frm001},
  SubA02 in 'SubA02.pas' {frm002};

{$R *.res}

function FncForm(): integer; stdcall;
begin

  frm001.Create(frm001);
  frm001.Show;
  result := 1;

end;

exports
          FncForm();

begin
end.


にしの  2002-04-10 20:24:36  No: 773

うちの環境ではうまく動いているように見えます(Delphi5Professional+Win2000)。
「うまくいかない」とは、具体的にどううまくいっていないのでしょうか。
それと、環境がわからないと、環境依存なのかどうかもわかりません。

もちろん、EXEとDLLは同じフォルダか、パスの通ったところにありますよね。


鷹羽 あずさ  2002-04-11 03:34:30  No: 774

いつもいつも回答有難う御座います。
私の環境は(Delphi6Enterprise+Win2000professional)です。
いろいろと試した結果うまくいきました。有難う御座いました。
環境については、ご報告が遅れました事をお詫びします。
これからも宜しくお願い致します。


※返信する前に利用規約をご確認ください。








  このエントリーをはてなブックマークに追加