![]() |
Re: Memo mag TStringList nicht?
Zitat:
Das Schlüsselwort "const" ist hierfür denkbar ungeeignet, weil dann die Funktion nichts verändern darf. Wie auch immer, der Original-Author hat Denkanstösse bekommen. Alles Weitere muss er nun selber bewerkstelligen. |
Re: Memo mag TStringList nicht?
Raven, dieser Code kompiliert trotz const fehlerfrei:
Delphi-Quellcode:
Da Objekte Zeiger sind, bezieht sich das const nicht auf Felder und entsprechend auch nicht auf Methoden und Eigenschaften.
type
TMyObject = class fField: Integer; end; procedure Proc(const Obj: TMyObject); begin Obj.fField := 5; end; |
Re: Memo mag TStringList nicht?
Zitat:
|
Re: Memo mag TStringList nicht?
IMHO sollte man Objektinstanzen immer als const-Parameter übergeben. Wie schon korrekt bemerkt wurde, sind es ja intern Pointer, so dass sich die dahinterliegenden Felder trotzdem bearbeiten lassen. Ansonsten wären z.B. solche Dinge möglich:
Delphi-Quellcode:
procedure TfrmMain.Machwas(sList: TStrings);
begin //Code zum Ändern der Strings sList := ListboxBla.Items; end; |
Re: Memo mag TStringList nicht?
Zitat:
Aber das const ist dennoch für einen ungeübten Betrachter verwirrend. |
Re: Memo mag TStringList nicht?
Moin!
Zitat:
![]() Gruss Thomas |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:53 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