Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi TObjectList Problem (https://www.delphipraxis.net/124788-tobjectlist-problem.html)

MarvinM 25. Nov 2008 11:11


TObjectList Problem
 
Hallo,

also erstmal will ich erklären, warum ich hier ein neues Thema eröffne: Das Ursprungsthema http://www.delphipraxis.net/viewtopic.php?t=146855 hat sich mittlerweile so gewandelt, dass es nicht mehr passt, daher der neue Fred.

Also: Ich habe nun eine ObjectList, die ich mit meinen Objekten befülle kann, was mir allerdings nicht wirklich gelingt. Daher habe ich jetzt eine Test-Applikation geschrieben, in der Hoffnung, dass dort mein Fehler ersichtlicher ist.

Delphi-Quellcode:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
  private
    BtnList: TObjectList;
    Button3: TButton;
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
  BtnList.Add(Button1);
  BtnList.Add(Button2);
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  BtnList.Free;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  BtnList := TObjectList.Create;
end;

end.
Wenn ich nun die beiden Buttons hinzufüge, werden mir keine Objekte angezeigt. Wenn ich die da herraus hole (mit dem Cast), passiert nichts. Auch wenn ich im Debug-Modus mir die Tooltips ansehen habe ich bei BtnList nur "BtnList | ()" als Anzeige, was ja auf keine Werte in der Liste hindeutet.

Ich bedanke mich schoneinmal für eure Hilfe!

sirius 25. Nov 2008 11:26

Re: TObjectList Problem
 
Der Tooltip sieht bei Objekten immer so aus. Da sieht man keinen Inhalt.
Und was heißt, sie werden nicht angezeigt?


btw: Es gibt auch TComponentList.

Luckie 25. Nov 2008 11:29

Re: TObjectList Problem
 
Zitat:

Zitat von MarvinM
Wenn ich nun die beiden Buttons hinzufüge, werden mir keine Objekte angezeigt.

Wo sollen dir den die Schaltflächen angezeigt werden? Die sind jetzt in der Objektliste drin bzw. Zeiger auf die Speicherstelle, wo die Daten der Schaltflächen im Speicher liegen.

Relicted 25. Nov 2008 11:35

Re: TObjectList Problem
 
du solltest ausserdem schonmal folgendes ändern:

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
  BtnList := TObjectList.Create( false );
end;
denn sonst passiert hier

Delphi-Quellcode:
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  BtnList.Free;
end;
folgendes:
die objectlist ist defaultmäßig auf "OwnsObjects" und mit dem befehl werden die buttons schon freigegeben. was allerdings das formular auch tut. daher wirst du vermutlich exceptions bekommen.

Ansonsten zu deiner Frage ein sauerländisches Fragewort mit 2 Buchstaben: hä???

Gruß
Reli

MarvinM 25. Nov 2008 11:44

Re: TObjectList Problem
 
Ich habe den Fehler gefunden: Ich bin davon ausgegangen, dass in den Tooltips die Objekte angezeigt werden, wie auch in einem Array. Dann sind wohl die Objekte bereits in der Liste, auch wenn sie nicht angezeigt werden.

Das mit dem OwnsObject werde ich mal überarbeiten!

Danke Euch Beiden!

Luckie 25. Nov 2008 12:30

Re: TObjectList Problem
 
Ach so, du meinst mit dem nicht anzeigen den Tooltipp im Debugger. Das nächste mal solltets du etwas genauer sein.

spaxxn 25. Nov 2008 12:51

Re: TObjectList Problem
 
Bürgern sich hier nun auch schon solche Stilblüten a la "Fred" statt "Thread" ein?

Edit: Hab die Suche mal bemüht und gesehen, dass es hier schon zur Normalität geworden ist.

MarvinM 25. Nov 2008 17:00

Re: TObjectList Problem
 
Zitat:

Zitat von Luckie
Ach so, du meinst mit dem nicht anzeigen den Tooltipp im Debugger. Das nächste mal solltets du etwas genauer sein.

Ja den meinte ich. Ich dachte eigentlich, dass es nur diesen Tooltip gibt, aber da dem wohl doch nicht so ist gelobe ich Besserung ;-)

sirius 25. Nov 2008 17:09

Re: TObjectList Problem
 
@Marvin
Du hast das schon richtig beschrieben. Ich habe das auch verstanden. Du musst nur wissen, der Luckie braucht jetzt für alles etwas länger :mrgreen:

MarvinM 25. Nov 2008 19:12

Re: TObjectList Problem
 
Achso, Dank des neuen Puffs ;-) Ich verstehe ;-)

Nichts für ungut ;-)


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:14 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