AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Object dynamisch in einem Array erzeufen

Ein Thema von gangs-taas · begonnen am 11. Okt 2010 · letzter Beitrag vom 14. Okt 2010
Antwort Antwort
Seite 3 von 3     123   
David Martens

Registriert seit: 29. Sep 2003
205 Beiträge
 
Delphi XE Enterprise
 
#21

AW: Object dynamisch in einem Array erzeufen

  Alt 13. Okt 2010, 23:17
@Jens01: Das hab ich auch schon festgestellt.

@alle: Diese Art des Templates ist leider nicht auf meinem Mist gewachsen. Ich hab das Ganze nur leicht abgewandelt.

@gangs-taas:
Zitat:
http://www.dummzeuch.de/delphi/objec...tsch.html] Dies ist eine Klasse mit einem Array, die beim Zugriff ueberprueft, ob der Index innerhalb der Arraygrenzen liegt.
Da wird nur Bezug auf das obrige Beispiel genommen. Hier ein Link zum allgemeinen Thema Template http://de.wikipedia.org/wiki/Template_(Programmierung)

Mehr Hilfe als in Posting 13 kann ich kaum geben, aber ich versuchs mal:

Hier der ENTSCHEIDENDE Teil:
Delphi-Quellcode:
unit u_FilterItemList; /// /// 1. Anpassung ////// HIER ein sinnvoller Name für die Unit

interface

uses
  Classes,
  // Unit mit Klasse für _ITEM_TYPE_ (eine ganz normale Klasse)
  u_FilterItem; /// /// 2. Anpassung ////// HIER die Unit in dem das Objekt steht das die Liste soll

// Kompilerdirektive für das Template
{$DEFINE LIST_TEMPLATE_}

type
  // Vorfahr der "Listklasse"
  _LIST_ANCESTOR_ = TObject;
  // Vorfahr der "Kontainerklasse", sollte ein Nachfahr von TList sein
  _LIST_CONTAINER_ = TList;
  // Typ des Items in der "Kontainerklasse" (z.B.: Pointer für TList, IInterface für TInterfaceList}
  _LIST_CONTAINER_ITEM_TYPE_ = pointer;
  // Item der typisierten Klasse, dieser Typ wird von der Klasse ausgegeben
  _ITEM_TYPE_ = TFilterItem; /// /// 3. Anpassung ////// HIER das Objekt das aus der Unit (siehe 2. Anpassung) in die Liste soll

// Verzeichnis: \Delphi\Komponenten\Templates nicht in Umgebungsvariablen vorhanden daher so:

// 1. Template-aufruf: erstellt den Kopf der _LIST_TEMPLATE_ Klasse anhand der oben gemachten Angaben
{$INCLUDE '..\Templates\t_TypedObjectList.pas'}  /// /// 4. Anpassung ////// HIER den Pfad anpassen wenn das Template wo anders ist

type
  // "Umbenennung" von _LIST_TEMPLATE_ und weitere spezielle Eigenschaften für die Klasse
  TFilterItemList = class(_LIST_TEMPLATE_) /// /// 5. Anpassung ////// HIER der ListenKlasse deinen Namen geben
  protected
    // muss implementiert werden, falls die Items freigegeben werden müssen (destructor Aufruf)
    procedure FreeItem(_Item: _ITEM_TYPE_); override;
  end;

implementation

// 2. Template-aufruf: implementiert die _LIST_TEMPLATE_ Klasse anhand der oben gemachten Angaben
{$INCLUDE '..\Templates\t_TypedObjectList.pas'}  /// /// siehe 4. Anpassung


// Implementierung der speziellen Eigenschaften der Klasse

{ TFilterItemList } /// /// siehe 5. Anpassung

procedure TFilterItemList.FreeItem(_Item: _ITEM_TYPE_); /// /// siehe 5. Anpassung
begin
  _Item.Free;

  inherited;
end;

end.
Alle entscheidenden Teile hab ich mit /// /// X. Anpassung bzw. /// /// siehe X. Anpassung markiert / zusätzlich kommentiert.

Geändert von David Martens (13. Okt 2010 um 23:20 Uhr)
  Mit Zitat antworten Zitat
gangs-taas

Registriert seit: 24. Mär 2009
364 Beiträge
 
#22

AW: Object dynamisch in einem Array erzeufen

  Alt 13. Okt 2010, 23:23
Also der arme gangs-taas tut mir leid.
Er wollte doch nur wissen, was sich für den Einstieg am einfachsten anwenden lässt...
ist ja schön, dass du dich über mich lustig machst -.-
aber ich ziehe eine einfach lösung, die ich versteh, einer komplizierten, die ich per copy&past benutzen kann, vor

sorry wenn das hier auf unverständnis trifft

euch übrigen danke nochmal

@ David Martens :
danke ich glaub langsamm versteh ich es (zwar nicht alles & nicht warum) aber ich denk, ich kann esn utzen ...
danke
  Mit Zitat antworten Zitat
David Martens

Registriert seit: 29. Sep 2003
205 Beiträge
 
Delphi XE Enterprise
 
#23

AW: Object dynamisch in einem Array erzeufen

  Alt 13. Okt 2010, 23:29
@gangs-taas: Du mußt es ja auch nicht alles verstehen, nur die entscheidenden Stellen ändern
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.343 Beiträge
 
Delphi 11 Alexandria
 
#24

AW: Object dynamisch in einem Array erzeufen

  Alt 13. Okt 2010, 23:30
Nee, sorry, da hast Du mich falsch verstanden!
Ich meinte das so, dass Du hier mit komplexen Lösungen bombardiert wirst. Ich hätte da als Anfänger schon aufgegegeben.

M.E. ist halt TObjectList mit einem TypeCast die einfachste und übersichtlichste Lösung.

Also ich meinte letztlich genau das:
Zitat:
aber ich ziehe eine einfach lösung, die ich versteh, einer komplizierten, die ich per copy&past benutzen kann, vor
Ich hoffe, dass das Missverständnis damit geklärt ist...
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
gangs-taas

Registriert seit: 24. Mär 2009
364 Beiträge
 
#25

AW: Object dynamisch in einem Array erzeufen

  Alt 13. Okt 2010, 23:32
@gangs-taas: Du mußt es ja auch nicht alles verstehen, nur die entscheidenden Stellen ändern
ookay
probier ich morgne
heute ist zu spät um vernünftig zu denken und zu ändern

gute nacht


ps
Nee, sorry, da hast Du mich falsch verstanden!
Ich meinte das so, dass Du hier mit komplexen Lösungen bombardiert wirst. Ich hätte da als Anfänger schon aufgegegeben.

M.E. ist halt TObjectList mit einem TypeCast die einfachste und übersichtlichste Lösung.

Also ich meinte letztlich genau das:
Zitat:
aber ich ziehe eine einfach lösung, die ich versteh, einer komplizierten, die ich per copy&past benutzen kann, vor
Ich hoffe, dass das Missverständnis damit geklärt ist...
okay
sorry ich hatte dich echt falsch verstanden
ja mir schwirrt der kopf
aber scheinbar muss man es nicht alles verstehn
ich versuchs morgne in ruhe nachzuvollziehen ...



danke für eure hilfe
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#26

AW: Object dynamisch in einem Array erzeufen

  Alt 14. Okt 2010, 01:16
Wo wird hier was der Liste hinzugefügt:
Delphi-Quellcode:
   // dynamisch Komponenten erzeugen und in die Liste packen
   for i := 0 to 10 do
   begin
      lbl := TLabel.Create(FMyList {<==});
      lbl.Caption := Format('Label %d',[i]);
      lbl.Top := i * 15;
      lbl.Left := i * 9;
      lbl.Parent := Self;
   end;
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
schlecki

Registriert seit: 11. Apr 2005
Ort: Darmstadt
148 Beiträge
 
Delphi XE2 Enterprise
 
#27

AW: Object dynamisch in einem Array erzeufen

  Alt 14. Okt 2010, 08:22
Wo wird hier was der Liste hinzugefügt:
Delphi-Quellcode:
   
      lbl := TLabel.Create(FMyList {<==});
hier

Gruß
schlecki

[edit]wurde aber auch schon in #14 erwähnt[/edit]
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#28

AW: Object dynamisch in einem Array erzeufen

  Alt 14. Okt 2010, 12:31
Wird da nicht nur der Besitzer gesetzt?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#29

AW: Object dynamisch in einem Array erzeufen

  Alt 14. Okt 2010, 12:34
Das wurde doch schon in #15 angesprochen
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#30

AW: Object dynamisch in einem Array erzeufen

  Alt 14. Okt 2010, 12:41
Das ist der Schlüsselsatz:
Zitat:
Dadurch das du FMylist als sogannten Owner (Besitzer) im Create angegeben hast,
landet das neue Label in FMyList.
Danke für den Hinweis.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


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:25 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