Systeme sind alles was man als ein Blackbox von Pascal beherrschter Kode sehen kann. Also alles außer direkte Kommunikation mit den Außenwelt. Man kann etwas vom Database an GUI übergeben, mit vielleicht noch eigenen Datastrukturen dazwischen usw.mschnell hat geschrieben:Absolut richtig.
Alle diese "Systeme" müssen entsprechend betrachtet werden.
Ein Expression wie
Code: Alles auswählen
x:=x+s;
z.B. für das "Basis"-"System", das aus "pos", "copy", "delete", "s" etc besteht, macht das bereits jetzt der Compiler und behandelt die Funktionen so, als wären die Formal-Parameter und die rechte Seite der Zuweisung dynamish (polymorphisch) codiert.
Über TStrings haben wir gerade diskutiert. (Ergebnis steht natürlich noch aus und ist aufgrund des "zu viel Arbeit" Arguments sowieso rein theoretisch.)
Und inkompatibel, und das Problem mit der [] operator, und und.
Ein weiteres "System" wäre die LCL. Hier scheint es mir am sinnvollsten zu sein, die Festlegung auf einen bestimmten Typ da zu machen, wo über den angebundenen externen Widget-Set entschieden wird. Der erfordert natürlich einen festen Codierungs-Typ.
Nicht unbedingt. Mann muss nur jede durchgeben nach/von extern Funktionen mit Codierung Rechnung halten, und das muss man immer (auch im D7, D2009+ und heutigen Lazarus fall). Es ist nur das in die Unicode Systeme man etwas mehr weißt von der Kodierung. (Lese eine bestimmte Unicode Version).
Für "Systeme", die die Anwender implementieren, sind sie selbst verantwortlich.
Alle Systeme sind gelinkt. Ein TStringlist in ein Anwender System macht das System RTL+Anweder Kode wird usw. Also System ist der größten Blackbox der man im Pascal Kode definieren kann. Insgesammt alles, RTL,FCL, Komponenten, anwender Kode, weil das String Kode unter Kompiler Kontrolle ist.