昨天暂时修复龙芯+深度 25Lazarus安装lazreport的lr_dialogdesign.lpk后Lazarus程序无法启动的Bug的处理方法虽然lazarus能正常运行,但TLRFormStorage功能不能使用。
今天修复方案保证lazarus运行正常,TLRFormStorage的功能也有了。
修复还是和lazarus/components/lazreport/source/addons/DialogControls/lrformstorage.pas这个单元有关。
1、增加变量:oldAddInsCount:Integer,同时将lrFormStorageEditorForm: TlrFormStorageEditorForm加上缺少值nil;
2、注释procedure InitLRComp的lrFormStorageEditorForm:=TlrFormStorageEditorForm.Create(nil);这行
3、在lrBMP_LRFormStorage := TbitMap.Create;这行添加一行:oldAddInsCount:=frAddInsCount;
4、在constructor TLRFormStorage.Create(AOwnerPage: TfrPage);添加下面的代码:
今天修复方案保证lazarus运行正常,TLRFormStorage的功能也有了。
修复还是和lazarus/components/lazreport/source/addons/DialogControls/lrformstorage.pas这个单元有关。
1、增加变量:oldAddInsCount:Integer,同时将lrFormStorageEditorForm: TlrFormStorageEditorForm加上缺少值nil;
2、注释procedure InitLRComp的lrFormStorageEditorForm:=TlrFormStorageEditorForm.Create(nil);这行
3、在lrBMP_LRFormStorage := TbitMap.Create;这行添加一行:oldAddInsCount:=frAddInsCount;
4、在constructor TLRFormStorage.Create(AOwnerPage: TfrPage);添加下面的代码:
constructor TLRFormStorage.Create(AOwnerPage: TfrPage); begininherited Create(AOwnerPage);BaseName := 'lrFormStorage';FDesignOptions:=FDesignOptions + [doUndoDisable];FStoredProperties:=TStringList.Create;if lrFormStorageEditorForm=nil thenbeginlrFormStorageEditorForm:=TlrFormStorageEditorForm.Create(nil);frAddInsCount:=oldAddInsCount;//这行是关键lrBMP_LRFormStorage := TbitMap.Create;lrBMP_LRFormStorage.LoadFromResourceName(HInstance, 'TLRFormStorage');frRegisterObject(TLRFormStorage, lrBMP_LRFormStorage, 'TLRFormStorage', lrFormStorageEditorForm, otlUIControl, nil);end; end;


最后重新编译安装,TLRFormStorage功能就正常了:

