Comment protéger le code d'un composant
Bonjour,
Je cherche comment protéger le code d'un composant dans l'IDE en ne fournissant pas son source à l'installation.
Pour test, j'ai pris un petit composant visuel que j'ai réalisé avec l'aide de ce forum.
Extrait du lzbuttons.lpk :
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| <Files Count="2">
<Item1>
<Filename Value="lzbitbtn.pas"/>
<HasRegisterProc Value="True"/>
<UnitName Value="lzBitBtn"/>
</Item1>
<Item2>
<Filename Value="lzspeedbutton.pas"/>
<HasRegisterProc Value="True"/>
<UnitName Value="lzSpeedButton"/>
</Item2>
</Files> |
Hormis ce fichier (le .lpk), j'ai laissé dans le répertoire de ce composant :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| { This file was automatically created by Lazarus. Do not edit!
This source is only used to compile and install the package.
}
unit lzButtons;
interface
uses
lzBitBtn, lzSpeedButton, LazarusPackageIntf;
implementation
procedure Register;
begin
RegisterUnit('lzBitBtn', @lzBitBtn.Register);
RegisterUnit('lzSpeedButton', @lzSpeedButton.Register);
end;
initialization
RegisterPackage('lzButtons', @Register);
end. |
Du répertoire initial, j'ai supprimé les fichiers lzButtons.pas; lzspeedbutton.pas; lzspeedbutton_icon.lrs et lzbitbtn_icon.lrs.
L'installation du composant dans l'IDE se passe (semble se passer) correctement. Mais une fois dans une Form, si
- j'y dépose un lzButton (ras)
- puis double-clique sur ce dernier, l'IDE déclare à ce moment une erreur
Citation:
unit1.pas(20,3) Error: source de l'unité G:\lazarus\0.9.31-28842-fpc-2.4.3-20101231\components\lzButtons\lib\i386-win32\lzbitbtn.ppu non trouvé.
La ligne 20 correspond au "end;" de
Code:
1 2 3 4 5 6 7
| TForm1 = class(TForm)
lzBitBtn1: TlzBitBtn;
private
{ private declarations }
public
{ public declarations }
end; |
Or le fichier lzbitbtn.ppu existe bien dans le répertoire en question. Pour l'instant, je teste sous Win XP. Les versions de Lazarus et fpc sont contenues dans le nom du répertoire du message d'erreur ci-dessus.
Merci d'avance.
Cordialement. Gilles