Hallo allemaal,
Ik heb een component gemaakt waarbij op een Panel een array van Panel's wordt geplaatst. Op zich werkt dit uitstekend.
Er is echter een maar en dat is dat in de ontwikkel fase ik een Panel uit de array kan verwijderen wat ogenblikkelijk een fout melding geeft en Lazarus wordt afgesloten. Is er een oplossing dat in de ontwikkelfase het niet mogelijk is om een Panel te verwijderen?
In onderstaande lijst heb ik deze component toegevoegd.
Met een vriendelijke groet, Frans Dubbeld
Code:
UNIT LzW10BtnArray;
{$IFDEF FPC}
{$MODE Delphi}
{$ENDIF}
INTERFACE
USES
{$IFNDEF FPC}
Windows,
{$ELSE}
LCLIntf,
LCLType,
LMessages,
LResources,
{$ENDIF}
Messages,
SysUtils,
Variants,
Classes,
Graphics,
Controls,
Forms,
Dialogs,
ComCtrls,
StdCtrls,
ExtCtrls;
TYPE
TLzW10BtnArr = CLASS(TPanel)
PRIVATE { Private declarations }
FBtnArr : ARRAY[0..9] OF TPanel;
FRuimte : ARRAY[0..9] OF INTEGER;
PROTECTED { Protected declarations }
PUBLIC { Public declarations }
CONSTRUCTOR Create(AOwner : TComponent); OVERRIDE;
DESTRUCTOR Destroy; OVERRIDE;
PROCEDURE Paint; OVERRIDE;
PUBLISHED { Published declarations }
PROPERTY Hint;
PROPERTY ShowHint;
PROPERTY Tag;
END;
PROCEDURE Register;
IMPLEMENTATION
PROCEDURE Register;
BEGIN
{$IFDEF FPC}
// Verwijder "//" in onderstaande regel als dit bestand is gemaakt
//{$I LzW10BtnArr_icon.lrs}
{$ENDIF}
RegisterComponents('LzWindows 10', [TLzW10BtnArr]);
END;
CONSTRUCTOR TLzW10BtnArr.Create(AOwner : TComponent);
VAR
I : INTEGER;
BEGIN
INHERITED Create(AOwner);
Height := 100;
Width := 300;
FOR I := 0 TO 9 DO
BEGIN
FBtnArr[I] := TPanel.Create(AOwner);
FBTnArr[I].Parent := self;
FBtnArr[I].BorderWidth := 4;
END ;
END;
DESTRUCTOR TLzW10BtnArr.Destroy;
BEGIN
INHERITED Destroy;
END;
PROCEDURE TLzW10BtnArr.Paint;
VAR
I : INTEGER;
BEGIN
INHERITED Paint;
FOR I := 0 TO 9 DO
BEGIN
FBtnArr[I].Left := I * 70+ 4;
FBtnArr[I].Width := 66;
FBtnArr[I].Top := 22;
FBtnArr[I].Height := 70;
FBtnArr[I].Color := clYellow;
END;
END;
{******************************************************************************}
INITIALIZATION
//RegisterClass(T...)
END.
Bookmarks