I am (again) trying to port a Delphi application to Lazarus/FPC. This time I need a customized version of TListView, which I converted to use in Lazarus back in 2018. See thread titled: "Converting a component package Delphi->Lazarus using built-in converter?"
I found the files for the converted component on my disk as: easylistview.lpk THis is the package file EasyListView.pas EasyListView.dcr No using Lazarus 2.0.8 and FPC 3.0.4 I did the following: - Started Lazarus - Told it to start a new project (to not interfere with my current project) - Package/Open package file - Navigated to the easylistview.lpk file - Clicked the Compile button. Finished successfully. - Use/Install. Lazarus started to rebuild itself - No visible errors shown - Lazarus restarted Now, how do I find the component I just installed so I can use it? I expected a new tab named AGI to appear with the component inside of it but I cannot find it... This is what is (or rather was, see below) in the register procedure in EasyListView.pas: procedure Register; begin RegisterComponents('AGI', [TEasyListView]); end; And this is the lpk file content after the compile/install: <?xml version="1.0" encoding="UTF-8"?> <CONFIG> <Package Version="4"> <PathDelim Value="\"/> <Name Value="EasyListView"/> <Type Value="RunAndDesignTime"/> <CompilerOptions> <Version Value="11"/> <PathDelim Value="\"/> <SearchPaths> <UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/> </SearchPaths> </CompilerOptions> <Files Count="1"> <Item1> <Filename Value="EasyListView.pas"/> <UnitName Value="EasyListView"/> </Item1> </Files> <RequiredPkgs Count="1"> <Item1> <PackageName Value="IDEIntf"/> </Item1> </RequiredPkgs> <UsageOptions> <UnitPath Value="$(PkgOutDir)"/> </UsageOptions> <PublishOptions> <Version Value="2"/> </PublishOptions> <CustomOptions Items="ExternHelp" Version="2"> <_ExternHelp Items="Count"/> </CustomOptions> </Package> </CONFIG> Now the strangest thing is that in this process Lazarus has completely mangled the EasyListView.pas source file so it now only has this content wheras the original was 27 kbytes....: { This file was automatically created by Lazarus. Do not edit! This source is only used to compile and install the package. } unit EasyListView; {$warn 5023 off : no warning about unused units} interface uses LazarusPackageIntf; implementation procedure Register; begin end; initialization RegisterPackage('EasyListView', @Register); end. So it is overwriting the source file for the component with a basically empty file, which it successfully installs and is nowhere to be found.... Apparently I am doing something completely wrong here, but what? -- Bo Berglund Developer in Sweden -- _______________________________________________ lazarus mailing list lazarus@lists.lazarus-ide.org https://lists.lazarus-ide.org/listinfo/lazarus