AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Objekte in Listen und deren Eigenschaften

Objekte in Listen und deren Eigenschaften

Ein Thema von TheAn00bis · begonnen am 14. Nov 2005 · letzter Beitrag vom 14. Nov 2005
Antwort Antwort
Seite 2 von 2     12
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#11

Re: Objekte in Listen und deren Eigenschaften

  Alt 14. Nov 2005, 18:34
Und es gibt ab TStrings noch die Eigenschaft Objects. Nenne ein Element doch Pik-As und verpaße dem zugehörigen Object einfach ein passendes Image.
Gruß
Hansa
  Mit Zitat antworten Zitat
TheAn00bis

Registriert seit: 7. Jun 2004
386 Beiträge
 
#12

Re: Objekte in Listen und deren Eigenschaften

  Alt 14. Nov 2005, 18:40
Zitat von SirThornberry:
auch das sieht richtig aus *g*
Hast du eventuell im Constructor von TKarte den Namen fest eingetragen (eventuell zum testen und dann nicht zurück geändert).

[...]

Du kannst ja mal schauen welchen Werte "karte.name" nach
Delphi-Quellcode:
var karte:Tkarte;
begin
  karte:=Tkarte.create(edit1.text,edit2.text);
  liste.Add(karte);
hat.
1) Hab ich nicht.
2) Dann erscheint das, was ich auch eingegeben habe, also richtig...

Zitat von shmia:
Zitat von TheAn00bis:
Zitat von shmia:
Für Objekte gibt es übrigens die Container-Klasse TObjectList, die von TList abgeleitet ist.
Danke für den Tip, aber die bietet keine Vorteile, die ich gebrauchen könnte.
Doch, der Konstruktor von TObjectList hat den Parameter AOwnsObjects. Falls dieser True ist (in deinem Fall wohl sinnvoll), dann werden im Destruktor von TObjectList alle Items gefreed.
sozusagen: "Create And Forget"
Okay, geändert!

Zitat von Hansa:
Und es gibt ab TStrings noch die Eigenschaft Objects. Nenne ein Element doch Pik-As und verpaße dem zugehörigen Object einfach ein passendes Image.
Das sind keine Spielkarten... Und wofür brauche ich die Eigenschaft Objects?

Hier nochmal die komplette (geänderte) Unit:

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, UKarte, StdCtrls, Contnrs;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Edit1: TEdit;
    Edit2: TEdit;
    Button3: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  end;

var
  Form1: TForm1;
  Liste: TObjectList;
implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var zahl:integer;
begin
zahl:=liste.Add(Tkarte.create(edit1.text,edit2.text));
showmessage(TKarte(liste[zahl]).gibFrage);
end;

procedure TForm1.Button2Click(Sender: TObject);
var i: integer;
    karte:Tkarte;
begin
for i:=0 to liste.count-1 do begin
karte:=TKarte(liste[i]);
showmessage(karte.gibfrage);
end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
liste:=TObjectList.create();
end;


end.
  Mit Zitat antworten Zitat
TheAn00bis

Registriert seit: 7. Jun 2004
386 Beiträge
 
#13

Re: Objekte in Listen und deren Eigenschaften

  Alt 14. Nov 2005, 19:03
Ich glaub es nicht...

An dem Code war wirklich alles richtig.

Ich hatte aber in der Klasse TKarte die Variablen folgendermaßen deklariert:

Delphi-Quellcode:
implementation


var

Frage,
Antwort:String;

//..
procedure ...
Diese scheinen dann public zu sein - was mir nicht bewusst war -
und haben sich wohl immer gegenseitig überschrieben.

Dieser Fehler ist mir vor einiger Zeit schon mehrere male passiert.
Tut mir echt Leid, dass ich aus so einem Mist, so einen Thread mache...

Aber immerhin weiß ich es ja jetzt!
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#14

Re: Objekte in Listen und deren Eigenschaften

  Alt 14. Nov 2005, 19:05
diese Variablen sind nicht Public sondern Global und genau aus dem Grund was dir passiert ist sind diese Globalen so unbeliebt. Eine Variable gehört in eine Klasse (wenn sie mit der Klasse in Zusammenhang steht) und nicht in die Unit pur.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  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 12:58 Uhr.
Powered by vBulletin® Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2019 by Daniel R. Wolf