我程序出的问题是这样的:
在单元文件中我的类是这样定义的:
unit myclass;interface
uses Windows, Messages, SysUtils, Classes, Contnrs;
type
TMyPem= class(Tobject)
private
FPicsize:string;
FDate: TDateTime;
public
constructor create;
function MyGetFillPicMem() :string ;
end;
implementationconstructor TMyPem.create;
begin
FPicsize:='whb';
FDate:=Date;
end ;function TMyPicInMem.MyGetFillPicMem(): string;
begin
result:=FPicsize;
end ;
end.
但我在别的程序调用这个类时是这样的:
myform;
interface
uses
Windows, Messages, myclass,SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Label1: TLabel;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1; MyPem:TMyPem;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
begin
Button1.Caption:=MyPem.MyGetFillPicMem();end;procedure TForm1.Button2Click(Sender: TObject);
begin
close;
end;end.此时程序总是报错。不知是什么原因,请大家多指点!!报错为:
Access violation ar address 00453344 in module "my_ced.exe". read of address 00000004.
在单元文件中我的类是这样定义的:
unit myclass;interface
uses Windows, Messages, SysUtils, Classes, Contnrs;
type
TMyPem= class(Tobject)
private
FPicsize:string;
FDate: TDateTime;
public
constructor create;
function MyGetFillPicMem() :string ;
end;
implementationconstructor TMyPem.create;
begin
FPicsize:='whb';
FDate:=Date;
end ;function TMyPicInMem.MyGetFillPicMem(): string;
begin
result:=FPicsize;
end ;
end.
但我在别的程序调用这个类时是这样的:
myform;
interface
uses
Windows, Messages, myclass,SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Label1: TLabel;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1; MyPem:TMyPem;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
begin
Button1.Caption:=MyPem.MyGetFillPicMem();end;procedure TForm1.Button2Click(Sender: TObject);
begin
close;
end;end.此时程序总是报错。不知是什么原因,请大家多指点!!报错为:
Access violation ar address 00453344 in module "my_ced.exe". read of address 00000004.
解决方案 »
- Printer打印到纸张产生的页边距的问题,打印高手帮忙啊!!!
- 代金劵,谁要谁拿去
- 在ISAPI中用CreateOleObject('Excel.Application')方式使用了Excel,如何确保在使用完毕或出现异常之后能正常释放Excel进程?
- 请教:用fr做报表。
- 关于Application.CreateForm(TFm_ip, Fm_ip)的问题,在线等候!
- 求教呀
- 在delphi中如何使用MSCOMM控键
- 可用分突破一万分了,需要的朋友请进来,下午6点结帐,散!!!
- 跪求用Java语言实现试卷的难度与区分度 信度评估算法的源代码
- 那个网站有Delphi或C++ Builder控件下载?
- 急!!!
- 组件服务不能用,提示没有注册类别?
在form1create里写MyPem:=TMyPem.create(application);
begin
MyPem:=TMypem.create; //******//
Button1.Caption:=MyPem.MyGetFillPicMem();
end;
begin
MyPem := TMyPem.Create(self);//////////先创建才能用
Button1.Caption:=MyPem.MyGetFillPicMem();end;
begin
MyPem := TMyPem.Create;
Button1.Caption:=MyPem.MyGetFillPicMem();
end;procedure TForm1.Destory(Sender: TObject);
begin
MyPem.Free;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
MyPem := TMyPem.Create;
try
Button1.Caption:=MyPem.MyGetFillPicMem();
finally
MyPem.Free;
end;
end;