Hi, In case I recreate a package that is already installed in lazarus, PackageEditingInterface.DoOpenPackageFile will bring up the package but as soon as I hit compile, it shows a message that the disk file has changes in between. Ignoring or reloading, crashes lazarus with (ignoring in this case):
TPkgManager.DoCompilePackage A AXVLC_1_0_TLBP 0.1 Flags=[] [TMainIDE.Destroy] A TApplication.HandleException Access violation Stack trace: $00C38868 TPACKAGEEDITORS__DOFREEEDITOR, line 2400 of C:/lazarus/packager/pa ckageeditor.pas $00C3838D TPACKAGEEDITORFORM__DESTROY, line 2301 of C:/lazarus/packager/pack ageeditor.pas $0040D0C2 TOBJECT__FREE, line 278 of C:/lazarus/fpc/svn/rtl/inc/objpas.inc $0083E57A TLAZPACKAGEGRAPH__DELETE, line 709 of C:/lazarus/packager/packages ystem.pas $0083E4FB TLAZPACKAGEGRAPH__CLEAR, line 697 of C:/lazarus/packager/packagesy stem.pas $0083E441 TLAZPACKAGEGRAPH__DESTROY, line 684 of C:/lazarus/packager/package system.pas $0040D0C2 TOBJECT__FREE, line 278 of C:/lazarus/fpc/svn/rtl/inc/objpas.inc $00854D01 TPKGMANAGER__DESTROY, line 1565 of C:/lazarus/packager/pkgmanager. pas $0040D0C2 TOBJECT__FREE, line 278 of C:/lazarus/fpc/svn/rtl/inc/objpas.inc $00449B8A TMAINIDE__DESTROY, line 1534 of main.pp $0040D0C2 TOBJECT__FREE, line 278 of C:/lazarus/fpc/svn/rtl/inc/objpas.inc $004272FD BEFOREFINALIZATION, line 1780 of forms.pp $0040F839 INTERNALEXIT, line 867 of C:/lazarus/fpc/svn/rtl/inc/system.inc $0040478C FPC_CHECK_OBJECT, line 826 of C:/lazarus/fpc/svn/rtl/inc/generic.i nc $008595A8 TPKGMANAGER__DOCOMPILEPACKAGE, line 2627 of C:/lazarus/packager/pk gmanager.pas $00850921 TPKGMANAGER__ONPACKAGEEDITORCOMPILEPACKAGE, line 603 of C:/lazarus /packager/pkgmanager.pas $00C38992 TPACKAGEEDITORS__COMPILEPACKAGE, line 2427 of C:/lazarus/packager/ packageeditor.pas It seems installed packages are already pre-loaded and the window that is brought up with PackageEditingInterface.DoOpenPackageFile is actually a cached version before the overwrite. This is somewhat confirmed when I delete the .lpk file of an installed package as it will bring up the package editor for that package with the warning that the diskfile has changed. I'm doing now if PackageEditingInterface.FindPackageWithName(PkgName)<>nil then PackageEditingInterface.DoOpenPackageFile(sDir+PkgName+'.lpk',[pofRevert],fa lse) else PackageEditingInterface.DoOpenPackageFile(sDir+PkgName+'.lpk',[pofAddToRecen t],false); but FindPackageWithName returns nil. What can I do? Thanks, Ludo -- _______________________________________________ Lazarus mailing list [email protected] http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
