在龙芯+深度 25社区版(龙芯新世界)Lazarus安装lazreport的lr_dialogdesign.lpk控件后Lazarus程序无法启动,在终端运行提示:
今天修复方案保证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;

今天修复方案保证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;
implementation uses LResources, lrFormStorageEditor, Controls, typinfo, FileUtil, LR_Const, LazUtilsStrConsts; var oldfrAddInsCount:Integer; lrBMP_LRFormStorage:TBitmap = nil; lrFormStorageEditorForm: TlrFormStorageEditorForm=nil; procedure InitLRComp; begin //lrFormStorageEditorForm:=TlrFormStorageEditorForm.Create(nil); if not assigned(lrBMP_LRFormStorage) then begin oldfrAddInsCount:=frAddInsCount; lrBMP_LRFormStorage := TbitMap.Create; lrBMP_LRFormStorage.LoadFromResourceName(HInstance, 'TLRFormStorage'); frRegisterObject(TLRFormStorage, lrBMP_LRFormStorage, 'TLRFormStorage', nil, otlUIControl, nil); end; end; { TLRFormStorage }
4、在constructor TLRFormStorage.Create(AOwnerPage: TfrPage);添加下面的红色代码
constructor TLRFormStorage.Create(AOwnerPage: TfrPage); begin inherited Create(AOwnerPage); BaseName := 'lrFormStorage'; FDesignOptions:=FDesignOptions + [doUndoDisable]; FStoredProperties:=TStringList.Create; if lrFormStorageEditorForm=nil then begin lrFormStorageEditorForm:=TlrFormStorageEditorForm.Create(nil); frAddIns[oldfrAddInsCount].EditorForm := lrFormStorageEditorForm; end; end;


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


浙公网安备 33010602011771号