南
南京男生
Unregistered / Unconfirmed
GUEST, unregistred user!
关于TPersistent及其子类打包成Package的问题。
本人写了一个RegisterClass的例子,本意是希望从TPersistent继承下来的
类打包成Package,同时不必要公开类的源码而使安装此Package的用户在设计态
(Design Time)时实用包中的类。
如下:
unit pakg;
interface
uses
SysUtils, Windows, Messages, Classes ;
type
PPP=class(TPersistent)
public
constructor Create;
end;
procedure Register;
implementation
procedure Register;
begin
RegisterClass(PPP);
end;
constructor ppp.Create;
begin
inherited Create;
end
end.
编译通过后安装成功。
可为另建工程文件中作如下编码时却编译不通过,在//**********行提示未PPP未定义。
请高手诊断。
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
var
pPP;//**********
begin
p:=ppp.create;
end;
end.
本人写了一个RegisterClass的例子,本意是希望从TPersistent继承下来的
类打包成Package,同时不必要公开类的源码而使安装此Package的用户在设计态
(Design Time)时实用包中的类。
如下:
unit pakg;
interface
uses
SysUtils, Windows, Messages, Classes ;
type
PPP=class(TPersistent)
public
constructor Create;
end;
procedure Register;
implementation
procedure Register;
begin
RegisterClass(PPP);
end;
constructor ppp.Create;
begin
inherited Create;
end
end.
编译通过后安装成功。
可为另建工程文件中作如下编码时却编译不通过,在//**********行提示未PPP未定义。
请高手诊断。
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
var
pPP;//**********
begin
p:=ppp.create;
end;
end.