delphinil:delphi 2007中Self.AutoPostBackControl := nil 问题解决思路方法

、问题:

  在BDS2007中如果系统安装了Dotnet FromeWork 3.5以上版本则会导致BDS2007进行asp.net页面设计时旦保存页面就在InitializeComponent思路方法中自动添加条语句Self.AutoPostBackControl := nil;导致BDS不能编译成功虽删除后可以编译但麻烦是每次修改任何页面文件都会重新生成此语句十分影响开发效率delphi官方网站WebSite上也有不少人在讨论但没有找到解决思路方法



2、解决思路方法:

  笔者通过查阅Dotnet FromeWork 3.5资料AutoPostBackControl是2.5以上.Web.UI.Page新增对象属性在FromeWork2.0中并没有因此可以在页面类中增加个成员变量:AutoPostBackControl:.&Object;即可解决编译而又不对系统运行造成影响如下:
 
1、保存页面时InitializeComponent;思路方法中自动生成了语句Self.AutoPostBackControl := nil;



procedure TMakeJsData.InitializeComponent;
begin
Include(Self.Button1.Click, Self.Button1_Click);
Self.AutoPostBackControl := nil; //自动生成代码导致delphi2007不能正常编译
Include(Self.Load, Self.Page_Load);
end;



2、bds页面在页面public中增加如下对象变量: AutoPostBackControl:.&Object;
  可以使使编译通过并且运行时不会有问题bds2007本不就不用AutoPostBackControl属性

  

type
TMakeJsData = (.Web.UI.Page)
{$REGION 'Designer Managed Code'}
strict private
procedure InitializeComponent;
procedure Button1_Click(sender: .Object; e: .EventArgs);
{$ENDREGION}
strict private
procedure Page_Load(sender: .Object; e: .EventArgs);
strict protected
Button1: .Web.UI.WebControls.Button;
Label1: .Web.UI.WebControls.Label;
protected
procedure OnInit(e: EventArgs); override;
private
{ Private Declarations }
public
{ Public Declarations }
AutoPostBackControl:.&Object; //增加此成员变量

end;
 编译顺利通过发布到装了FromeWork 2.0、FromeWork 3.5服务器上测试运行正确
Tags:  delphi2007 noselfcontrol delphinil什么意思 delphinil

延伸阅读

最新评论

发表评论