noch zwei Ergänzungen:
Ich war vorhin wohl doch zu voreilig: Es funktioniert nicht ganz ohne Dereferenzierung, zumindest nicht die implizite Zuweisung. Will ich das Ergebnis nach einem Implicit-Operator direkt einem String zuweisen, dann geht es nur so:
Delphi-Quellcode:
lDummy := hsStr('dummy').CopyFromChar('-').CopyToChar('#')^; // funktioniert mit dem abschließenden ^
lDummy := hsStr('dummy').CopyFromChar('-').CopyToChar('#'); // funktioniert NICHT ohne das abschließende ^
hmmm
Allerdings habe ich inzwischen auch die Geschwindigkeit der beiden Konstrukte getestet, also einmal mit einem Objekt/Interface und einmal mit einem Record und die Record-Variante ist bei sonst völlig identischem Code fast doppelt so schnell.
Viele Grüße
Harald