开发ASP组件时候遇到的问题(100分)

  • 主题发起人 主题发起人 anbncnfn
  • 开始时间 开始时间
A

anbncnfn

Unregistered / Unconfirmed
GUEST, unregistred user!
首先我新建了一个ActivexLibrary,然后在里面添加了一个Active Server Object。使用的是Pagelevel event methods选项。添加了两个函数LoadImage和SaveImage
Class定义如下:
type
TTChartImage = class(TASPObject, ITChartImage)
protected
ChartBmp:TBitmap;
procedure OnEndPage
safecall;
procedure OnStartPage(const AScriptingContext: IUnknown)
safecall;
procedure LoadImage(Fname: OleVariant)
safecall;
procedure SaveImage(Fname: OleVariant)
safecall;
end;
LoadImage函数定义如下:
procedure TTChartImage.LoadImage(Fname: OleVariant);
begin
ChartBmp.LoadFromFile(Fname);
end;
SaveImage函数:
procedure TTChartImage.SaveImage(Fname: OleVariant);
begin
ChartBmp.SaveToFile(Fname);
end;
编译注册以后,在运行Asp脚本的时候,先Server.CreateObject
然后调用函数的时候就出错了
我试过把函数改成空函数,就不会出错了
这是怎么回事?
 
IIs配置的时候已经打开了写入权限
 
loadfromfile可不可以运行?
ChartBmp:TBitmap;有没有创建一个实例
 
Server.CreatObject不就创建了一个实例么?
LoadImage也不能运行
 
我是说ChartBmp变量有没有创建一个实例
 
哦?需要怎么创建一个实例啊?
我差不多是照抄得别人的程序
好像没有看到创建实例
创建了TChartImage的实例不就可以了么?
 
procedure TTChartImage.Initialize;
begin
inherited;
Err := '';
try
ChartBmp := TBitmap.Create;
except
on E: Exception do Err := E.Message;
end;
end;

destructor TTChartImage.Destroy;
begin
inherited;
ChartBmp.Free;
end;
 
哦,谢谢
不过我想在图片上画一个圆圈
用Ellispe函数:
procedure TTChartImage.Ellispe(x1, y1, x2, y2: SYSINT);
begin
ChartBmp.Canvas.Ellipse(x1,y1,x2,y2);
end;
然后再调用这个函数,又出错了
这是怎么回事呢?
望不吝赐教
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
937
SUNSTONE的Delphi笔记
S
后退
顶部