{ o código correto para FormContextPopup }
procedure TForm1.FormContextPopup(Sender: TObject; MousePos: TPoint;
  var Handled: Boolean);
  var xx:string;
begin
  with TButton.Create(Self) do begin
    name:='b'+inttostr(i);
    Parent:=Form1;
    left:=mousepos.x;
    top:=mousepos.y;
    caption:='s';
    OnClick:=Button1OnClick;
    i:=i+1;
  end;
end;



>From: "WILLER" <[EMAIL PROTECTED]>
>Reply-To: delphi-br@yahoogrupos.com.br
>To: <delphi-br@yahoogrupos.com.br>
>Subject: [delphi-br] Erro de acesso à memória
>Date: Tue, 19 Sep 2006 10:04:49 -0300
>
>Esse programa deveria, a cada clique com o botão direito do mouse, criar um 
>botão. E cada botão, ao receber um clique deveria ser destruído.
>Quando crio um botão e o destruo em seguida, não dá erro. O erro ocorre 
>quando crio mais de um botão e depois tento destruí-lo.
>Alguém poderia me ajudar, me dar uma dica ou indicar onde errei?
>
>
>
>unit Unit1;
>
>interface
>
>uses
>   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, 
>Forms,
>   Dialogs, StdCtrls;
>
>
>type
>   TForm1 = class(TForm)
>     Button1: TButton;
>     procedure FormContextPopup(Sender: TObject; MousePos: TPoint;
>       var Handled: Boolean);
>     procedure Button1Click(Sender: TObject);
>   private
>     { Private declarations }
>   public
>     j:TButton;
>     i:integer;
>     { Public declarations }
>   end;
>
>
>
>var
>   Form1: TForm1;
>
>implementation
>
>uses Types;
>
>{$R *.dfm}
>
>procedure TForm1.FormContextPopup(Sender: TObject; MousePos: TPoint;
>   var Handled: Boolean);
>   var xx:string;
>begin
>   with TButton.Create(Self) do begin
>     name:='b'+inttostr(i);
>     Parent:=Form1;
>     left:=mousepos.x;
>     top:=mousepos.y;
>     caption:='s';
>     OnClick:=Button1.OnClick;
>     i:=i+1;
>   end;
>end;
>
>procedure TForm1.Button1Click(Sender: TObject);
>begin
>   if sender is TButton then begin
>     if assigned( TButton(sender)) then begin
>       FreeAndNil(TButton(Sender));
>     end;
>   end;
>
>end;
>
>end.
>
>[As partes desta mensagem que não continham texto foram removidas]
>

_________________________________________________________________
MSN Busca: fácil, rápido, direto ao ponto.  http://search.msn.com.br



-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

<*> Para ver as mensagens antigas, acesse:
    http://br.groups.yahoo.com/group/delphi-br/messages

<*> Para falar com o moderador, envie um e-mail para:
    [EMAIL PROTECTED]
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/delphi-br/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 



Responder a