arkadaşlar yönlendirmeleriniz üzerine kodları defalarca düzenledim son aşamada panel üzerindeki butona tıkladığımızda silme işleminde bazen "
İnvalid Pointer Operation" hatası veriyor. Kodları aşağıda veriyorum. Hatayı sıklıkla vermiyor bazen hiç hata vermiyor o yüzden nerde sorun olabilir takıldım. Müsait olduğunuz zaman kodları incelerseniz sevinirim iyi çalışmalar.
Kod: Tümünü seç
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, Buttons, XPMan;
type
TSPanel = class(TPanel)
private
FRemoveButton : TSpeedButton;
procedure RemoveButtonClick(Sender : TObject);
public
constructor Create(AOwner: TComponent) ; override;
published
end;
type
TForm1 = class(TForm)
GroupBox1: TGroupBox;
Button1: TButton;
XPManifest1: TXPManifest;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
Panel : array[1..100] of TSPanel;
Sayac : Integer;
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
{ TSPanel }
constructor TSPanel.Create(AOwner: TComponent);
begin
inherited Create(AOwner) ;
Self.Align:=alTop;
FRemoveButton:=TSpeedButton.Create(Self);
FRemoveButton.Parent:=Self;
FRemoveButton.Width:=22;
FRemoveButton.Height:=22;
FRemoveButton.Left:=Self.Width-25;
FRemoveButton.Anchors:=[akTop,akRight];
FRemoveButton.OnClick:=RemoveButtonClick;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Sayac:=Sayac+1;
Panel[Sayac]:=TSPanel.Create(GroupBox1);
Panel[Sayac].Parent:=GroupBox1;
Panel[Sayac].Name:='pnl'+IntToStr(Sayac);
end;
procedure TSPanel.RemoveButtonClick(Sender: TObject);
begin
Self.Free;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Sayac:=0;
end;
end.
Form1.dfm
Kod: Tümünü seç
object Form1: TForm1
Left = 213
Top = 176
Width = 870
Height = 500
Caption = 'Form1'
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
OldCreateOrder = False
OnCreate = FormCreate
DesignSize = (
854
462)
PixelsPerInch = 96
TextHeight = 13
object GroupBox1: TGroupBox
Left = 8
Top = 8
Width = 313
Height = 441
Anchors = [akLeft, akTop, akBottom]
Caption = 'GroupBox1'
TabOrder = 0
end
object Button1: TButton
Left = 352
Top = 16
Width = 81
Height = 41
Caption = 'Panel Oluştur'
TabOrder = 1
OnClick = Button1Click
end
object XPManifest1: TXPManifest
Left = 352
Top = 88
end
end
Bu arada Delphi7 + Window 7 kullanıyorum hatayla ilgili olabilir belki düşüncesiyle yazdım.