![]() |
Fragen zu TList
Hallo,
ich habe in meinem Prog eine Liste vom Typ TList. In der Speicher ich Zeiger auf Strukturen:
Code:
Mit
PMyElem = ^TPMyElem;
TPMyElem = record Nr : Integer; Name : String[40]; end; ... var MyElem : PMyElem; aList : TList; ...
Code:
Reserviere ich Speicher für ein neues Element. Die Daten kommen durch
New(MyElem);
Code:
in die Liste. In einem Buch habe ich nun gelesen, das beim Einfügen der Daten dieses 'Pointer Dach' mit dabei ist:
MyElem.Nr := eineNummer;
MyElem.Name := 'Hans'; aList.Add(MyElem);
Code:
Das habe ich in meinem Prog nicht und bisher auch keine Probleme, aber nun die Frage, wozu wird das so gemacht, bzw werde ich Probleme bekommen ??
MyElem^.Nr := eineNummer;
MyElem^.Name := 'Hans'; aList.Add(MyElem); Gruß Jacki |
Re: Fragen zu TList
Nein du wirst keine probleme bekommen, da delphi aus dem kontext schliessen kann, das du hier dereferenzieren möchtest und macht es dann automatisch! Ist allerdings ne stil-frage ob du deinen code nicht lieber eindeutig formulieren willst :wink:
|
Re: Fragen zu TList
Hallo,
danke für die schnelle Antwort :thuimb: Gruß Jacki |
Re: Fragen zu TList
Zitat:
Bin ich alleine mit der Meinung? |
Re: Fragen zu TList
Zitat:
Jede Programmiersprache hat eine eindeutige Grammatik, die sich mathematisch beweisen läßt. Und das Bsp. hier mit dem ^ (Ptr-Dach)wiederspricht allem. Ein Compiler ist nun mal kein Telefon-Nummern Verzeichnis. Der kann sich nicht mit "trefferquoten" zufrieden geben. :lol: |
Re: Fragen zu TList
Fällt wohl unter den Begriff Compiler-Magic. ;)
Btw, wenn ihr mit Objekten arbeitet, dereferenziert ihr ja auch nicht explizit und das, obwohl Objekte eigentlich auch nur Zeiger auf einen Speicheradresse sind. Wenn ihr nicht wollt, dass Delphi für euch die Arbeit mit den Pointern abnimmt, dann müsst ihr C++ benutzen. |
Re: Fragen zu TList
Hallo,
erstmal vielen Dank für die Antworten. Ich sehe das nun so : Wenn der Compiler einem die Möglichkeiten gibt Dinge zu vereinfachen, dann kann es nicht verkert sein, diese Vereinfachung anzunehmen. Da es sich anscheinend nur um eine Stil Frage handelt. Ausserdem denke ich, das die Vereinfachung dazu führt, das Andere, die nicht so viel mit Delphi und entsprechend mit Pascal zu tun haben, den Quellcode einfacher lesen und verstehen können. Gruß Jacki |
Re: Fragen zu TList
Zitat:
Also bin auch dafür es explizit hinzuschreiben! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:02 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