AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi wie lösche ich dynamisch erstellte objakte?
Thema durchsuchen
Ansicht
Themen-Optionen

wie lösche ich dynamisch erstellte objakte?

Ein Thema von fredel007 · begonnen am 29. Okt 2003 · letzter Beitrag vom 29. Okt 2003
Antwort Antwort
fredel007

Registriert seit: 29. Okt 2003
Ort: Wörth am Rhein
25 Beiträge
 
#1

wie lösche ich dynamisch erstellte objakte?

  Alt 29. Okt 2003, 12:20
Hi Leute, ich hänge seit ein paar Tagen an einem Problem fest,
ich ich erstelle mir 3 SpeedButtons während der Laufzeit durch ein Onclick Ereigniss eines normalen Buttons!
Jetzt möchte ich diese 3 SpeedButtons durch einen Click auf einen anderen Button wieder entfernen,
ich hab schon alles mir bekannte ausprobiert, aber es will einfach net klappen!

Kann mir vielleicht jemand helfen?

vielen Dank schonmal im Vorraus!


Delphi-Quellcode:
procedure TForm1.B1Click(Sender: TObject);
var
  i: integer;
Begin
  for i := 1 to 3 do
  begin
    with Tspeedbutton.Create(form1) do
    begin
      Name :='sb' + inttostr(i);
      Parent := form1;
      Width := 17;
      Height := 17;
      Top := 100*i;
      Left := 100*i;
      FreeOnRelease;
    end;
  end;
end;

procedure TForm1.B2Click(Sender: TObject);
begin
  { hier sollen die drei Buttons wieder gelöscht werden }
end;
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#2

Re: wie lösche ich dynamisch erstellte objakte?

  Alt 29. Okt 2003, 12:22
Moin,

guck mal nach FindComponent

bsp:

  (FindComponent('SpeedButton1') as TSpeedButton).Free mfG
mirage228
David F.
  Mit Zitat antworten Zitat
fredel007

Registriert seit: 29. Okt 2003
Ort: Wörth am Rhein
25 Beiträge
 
#3

Re: wie lösche ich dynamisch erstellte objakte?

  Alt 29. Okt 2003, 12:26
Danke, jetzt kann ich endlich wieder gut schlafen
  Mit Zitat antworten Zitat
franz77

Registriert seit: 28. Okt 2003
Ort: nähe München
7 Beiträge
 
Delphi 5 Professional
 
#4

Re: wie lösche ich dynamisch erstellte objakte?

  Alt 29. Okt 2003, 12:32
Hallo fredel007!

Wieso nimmst Du die Buttons nicht als member in die Klassendeklaration mit auf, dann kannst du auch jederzeit wieder darauf zugreifen:

Delphi-Quellcode:
TForm1 = class (TForm)
 ...
 private
 btn1, btn2, btn3: TSpeedButton;
 ...
end;

...
procedure TForm1.createButtons;
begin
  btn1:= TSpeedButton.Create ( Self );
  with btn1 do
  begin
    // buttons positionieren, parent zuweisen usw.
  end;

  btn2:= ...
end;


procedure TFrom1.deleteButtons;
begin
  if assigned (btn1) then btn1.free;
  if assigned (btn2) then ...
  // usw.
end;
Gruss, Franz
Selbst wenn es gelingen sollte eine 100% bugfreie App zu entwickeln, dann sind bestimmt - die Schriftarten nicht die Richtigen, die Farben zu wenig bunt...
  Mit Zitat antworten Zitat
Benutzerbild von maximov
maximov

Registriert seit: 2. Okt 2003
Ort: Hamburg
548 Beiträge
 
Delphi 2005 Professional
 
#5

Re: wie lösche ich dynamisch erstellte objakte?

  Alt 29. Okt 2003, 13:27
Die betonung liegt auf dynamisch so wäre es statisch
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#6

Re: wie lösche ich dynamisch erstellte objakte?

  Alt 29. Okt 2003, 13:42
Er könnte ja einen dynamischen Array von TSpeedButton machen, dann hätte er es dynamisch ;-D
David F.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:59 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz