アプリ版:「スタンプのみでお礼する」機能のリリースについて

Delphi XE5 starter で、
http://www39.atwiki.jp/kgh07155/pages/28.html
を参考にして以下のようなプログラムを作りました。
コンパイルはできたのですが、Button1をクリックすると「TDllFormリソースが見つかりません」というエラーメッセージが出ます。
どういう風に修正すればいいのでしょうか?

//*****************************
//SamoleUnit2.pasの内容
unit Unit_Sample2;

interface

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

type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private 宣言 }
public
{ Public 宣言 }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}
function ShowDLLForm(hOwner: HWND): TModalResult; stdcall;
external 'DLLSample.dll';

procedure ShowDLLForm2;
external 'DLLSample.dll';

// ここまで、DLLを呼び出すための記述。

procedure TForm1.Button1Click(Sender: TObject);
begin
ShowDLLForm(Application.Handle);
// DLL側でフォームを作成した後、
// 通常のフォームのShowModalメソッドと同じ動作をして
// 作成したフォームを破棄。
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
ShowDLLForm2;
// DLL側でフォームを作成した後、
// 作成したフォームを表示。
end;

end.


//********************************
//DllSample.dprの内容
library DLLSample;

uses
System.SysUtils,
System.Classes,
Windows,
Forms,
Controls,
Unit_DLLForm in 'Unit_DLLForm.pas' {Form1},
Unit_Sample2 in 'Unit_Sample2.pas' {Form2};
type
TDllForm = class(TForm)
end;
{$R *.res}
function ShowDLLForm(hOwner: HWND): TModalResult; stdcall;
var
DllForm:TDllForm;
begin
Application.Handle := hOwner; // 呼び出し元の情報をDLL側が受け取る。
DllForm := TDllForm.Create(Application); // DLL側でフォームを作成する。
// フォームに配置された各オブジェクトも、自動で作成される。
Result := DllForm.ShowModal; // 返し値を設定。
DllForm.Free; // DLL側で作成したフォームを破棄。
Application.Handle := 0; // 呼び出し元の情報を破棄。
end;

procedure ShowDLLForm2;
var
DllForm:TDllForm;
begin
DllForm := TDllForm.Create(Application); // DLL側でフォームを作成する。
DllForm.Show; // 作成したフォームを表示。
end;

exports
ShowDLLForm,
ShowDLLForm2;


begin
end.

//********************************
//unit_DLLForm.pasの内容

unit Unit_DLLForm;

interface

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

type
TForm1 = class(TForm)
Button1: TButton;
private
{ Private 宣言 }
public
{ Public 宣言 }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

end.

A 回答 (1件)

推測による回答になっちゃうけどいいかしら?



TDllFormていうのは
どこかのDLLに入っているんだと思うの

そのDLLが見えていないのだと思うわ
    • good
    • 0
この回答へのお礼

どこが間違っているのかまったくわからないので、他の方法を検討してみます。
回答ありがとうございました。

お礼日時:2014/12/08 15:55

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!