AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Objekt duplizieren.

Ein Thema von XzenTorXz · begonnen am 29. Jun 2006 · letzter Beitrag vom 29. Jun 2006
Antwort Antwort
XzenTorXz

Registriert seit: 29. Jun 2006
Ort: 127.0.0.1
13 Beiträge
 
Delphi 7 Enterprise
 
#1

Objekt duplizieren.

  Alt 29. Jun 2006, 16:09
Hi Ich hab ein kleines Problem.
Ich hab ein Panel wo eine Listbox und ein TextLabel drin hab. Diese will ich ca 20 mal auf meinem Fenster ausgeben, aber will sie nicht 20 mal erstellen. Nun will ich sie am besten in einer Schleife ausgeben, Ich hab schon versucht das objekt in eine array zu quetschen ging aber leider nicht oder es hat immer nur das erste objekt verändert.

Pls Help
  Mit Zitat antworten Zitat
bttb930

Registriert seit: 6. Okt 2003
372 Beiträge
 
#2

Re: Objekt duplizieren.

  Alt 29. Jun 2006, 16:18
das geht aber nicht anders:

entweder 20mal erstellen
oder
1mal erstellen und das 19mal clonen

ersteres ist leichter da es für das clonen keine funktion gibt
  Mit Zitat antworten Zitat
XzenTorXz

Registriert seit: 29. Jun 2006
Ort: 127.0.0.1
13 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Objekt duplizieren.

  Alt 29. Jun 2006, 16:27
wenn ich das klone kann ich dann immernoch von jedem die eigenschaften individuell verändern ?
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Objekt duplizieren.

  Alt 29. Jun 2006, 16:33
Zitat von XzenTorXz:
wenn ich das klone kann ich dann immernoch von jedem die eigenschaften individuell verändern ?
Da jede Komponente einen eigenen Namen haben muss, kannst du sie generell darüber ansprechen.
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: Objekt duplizieren.

  Alt 29. Jun 2006, 17:07
Moin Matthias,

Zitat von Matze:
Da jede Komponente einen eigenen Namen haben muss,...
leider nicht, es geht nämlich auch völlig ohne Namen.
Probier das hier mal aus:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);

var
  i : integer;

begin
  for i := 1 to 10 do begin
    with TLabel.Create(self) do begin
      Top := (i-1) * 16+8;
      Caption := 'Label'+IntToStr(i);
      Parent := self;
      ShowMessage(Name);
    end;
  end;
end;
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
XzenTorXz

Registriert seit: 29. Jun 2006
Ort: 127.0.0.1
13 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: Objekt duplizieren.

  Alt 29. Jun 2006, 17:15
Ich danke dir.
Ich wär fast selber drauf gekommmen, aber ich wusste nicht das bei Create() self rein kommen muss. Also vielen dank!!!
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: Objekt duplizieren.

  Alt 29. Jun 2006, 17:42
Moin XzenTorXz,

wenn Du im Create einen Owner angibst, also einen Wert <> nil, dann hast Du den Vorteil, dass Du Dich nicht selber um die Freigabe kümmern musst. Das geschieht dann automatisch, wenn der Owner freigegeben wird.
Du musst auch nicht zwingend self dort eintragen, auch wenn es wohl meist so gemacht wird.

Trägst Du hingegen nil ein, musst Du Dich selber darum kümmern, dass das erzeugte Objekt wieder freigegeben wird.

[EDIT]
BTW:
Du solltest auf jeden Fall, wie Matze es angedeutet hat, einen eindeutigen Namen vergeben, um die Komponente dann auch wieder gezielt ansprechen zu können.
Eine andere Variante wäre es die Objekte ein Liste aufzunehmen, um den späteren Zugriff wieder zu ermöglichen.
Am ehesten kommt hier wohl ein Hier im Forum suchenTObjectList in Frage.
[/EDIT]
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 01:00 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