![]() |
AW: TObjectList sehr anfällig?
Zitat:
Tja, die Collection in Delphi registriert sich bei ihren enthaltenen TComponents und auch andersrum. Sobald einer er Beteiligten freigegeben wird, wird die aufgebaute Verknüpfung aufgelöst und die Komponenten aus der Liste ausgetragen. Siehe meine Firemonkey-Hints. Da hab ich dieses auch endlich selber mal verwendet. Dort speichere ich mir ja in Variablen Zeiger auf die beteiligten Objekte. Um diese Variablen "sauber" zu halten und keine "tote" Verlinktungen zu erhalten, hab ich meine Ojekte ebenfalls entsprechend registriert und räume bei Benachrichtigung dann entsprechend meine Variablen auf. Wer es nicht schafft seine Verlinkungen sauberzuhalten und eindeutige Besitzverhältnisse sichzustellen (nur Einer darf etwas freigeben ... halt das Highlander-Prinzip "Es kann nur Einen geben") oder es so zu regeln, daß sich alle beteiligten Verantwortlichen untereinander informieren, der sollte besser auf Interfaces umsteigen oder auf andere Managed-Systeme. |
AW: TObjectList sehr anfällig?
Zitat:
|
AW: TObjectList sehr anfällig?
Zitat:
Nja, rückwärtslöschen ist einfacher, aber manchmal kommt es auf die Reihenfolge drauf an, wierum gelöscht wird. |
AW: TObjectList sehr anfällig?
Zitat:
Es scheint so das die ObjectListe damit nicht klar kommt wenn du sagst das ich unbedingt mit 0 anfangen muss. Es dürfte klar sein das wenn man Button zu einem Fenster zur Laufzeit addiert dann muss zumindest 1 vorhanden sein der auch nicht gelöscht werden darf. Dieser repräsentiert den Index 0; Ich habe versucht bei 0 anzufangen in dem ich einfach
Delphi-Quellcode:
FSelButton := (FColButtons.Items[Btn -1]) as TClsButtonInfo;
Btn -1 zugewiesen habe.. Aber auch das habe ich schon angemerkt dann meldet er mir das der ListIndex Maximum(0) überschritten wäre. Fange ich bei eins an meckert er das ListIndex Maximum(1) überschritten ist. Da hab ich noch was zu tun ;) Zitat:
In der Collection VB seite spielte das keine rolle. Danke für die überprüfung. gruss |
AW: TObjectList sehr anfällig?
Das addieren geht jetzt grundsätzlich schon mal
Muss jetzt nur noch das problem mit dem entfernen Korrigieren. Hab da mit der Liste noch nicht den richtigen ansatz gefunden. Habe da mal temporär die Indexes der Button als Caption addiert. gruss |
AW: TObjectList sehr anfällig?
Wäre es nicht näher dran, wenn du statt TObjectList eine eigene
![]() |
AW: TObjectList sehr anfällig?
Zitat:
Beispiel: Bei Add. Da kann man ja nicht groß was übergeben. TObjectList
Delphi-Quellcode:
TCollection:
FColButtons.Add(oButton);
FColButtons.Insert(oButton.Num, oButton);
Delphi-Quellcode:
function Add:
Wie soll ich hier die Classe TClsButtonInfo übergeben? Die ObjektList kam der Collection von VB am nächsten. gruss |
AW: TObjectList sehr anfällig?
Zitat:
Vieles an deinem Code ist offensichtlich aus dem VB Programm übernommen - insofern würde man viele Dinge heute in Delphi von vornherein anders machen. Die implizite Verbindung von TClsButtonInfo.Num zum Index in FColButtons (ob nun -1 oder nicht) bringt m.E. einen überflüssigen Overhead in die Implementation. Ich vermute dort die meisten Macken. |
AW: TObjectList sehr anfällig?
Zitat:
Denke auch wenn ich das heute direkt in Delphi also neu schreiben würde sähe es auch etwas anders aus. Das wäre mir aber dann doch zuviel des guten zumal da ich es schon einmal geschrieben habe. Zitat:
Das mit dem addieren funktioniert jetzt ohne Probleme wie am am Shot erkennen kann. Das entfernen werde ich dann auch noch schaffen. Der vorteil an der ProgBar Klasse ist halt das ich die nur einmal erstellen muss diese wird ja dann von zwei Unterschiedlichen Programmen verwendet. Genauso wie die Klasse ButtonInfo da hab ich mir schon einiges an Arbeit gespart. Das hier ist ja nur das Konfigurations Programm für die Button Das eigentliche Programm ProgStart startet dann die Programme für die von ProgBar erstellten ToolBars. Der sinn und zweck des programms war Hauptsächlich den Desktop sauber zu halten und Programme zu steuern die früher keine eigene ToolBars enthielten so wie NotePad. Aber grundsätzlich ist es schon richtig das man so ein Projekt eigentlich komplett neu aufsetzen sollte. Aber wie schon gesagt zu viel des guten. gruss |
AW: TObjectList sehr anfällig?
oops .. vergessen zu Antworten
Zitat:
Zitat:
Aber es geht um Nonvcl da zählen einige deiner guten Ratschläge leider nicht. Ansonsten würde ich sie verwenden.. kannst mir glauben ;) gruss |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:08 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz