Hallo,
gibt es im Delphi Sprachumfang ein Äquivalent zu static in C? Derzeit behelfe ich mir so:
Delphi-Quellcode:
{$WRITEABLECONST ON}
function doSomeTests(stringToTest : WideString) : Boolean;
const
lastStringTested : WideString = '';
begin
Result := TRUE;
if WideLowerCase(stringToTest) = WideLowerCase(lastStringTested) then
exit;
{Was auch immer ich dort teste ...}
lastStringTested := stringToTest;
end;
{$WRITEABLECONST OFF}
Das find ich in gewisser Weise unschön. Allerdings möchte ich den primitiven "Cache" der hier gebaut wird, ungern ausserhalb der Funktion realisieren. Auch eine globale Variable möchte ich vermeiden. In C könnte ich lastStringTested einfach als static definieren und der Wert dieser Variable bleibt über weitere Aufrufe bestehen. In Delphi scheint diese Möglichkeit nicht zu existieren, oder?
Um Hinweise auf die Suche zu vermeiden:
Ja, das Thema wurde bereits diskutiert, vor einigen Jahren. Nur entwickelt sich Delphi als Sprache ja durchaus weiter. Könnte ja sein, daß static mittlerweile zum Sprachumfang gehört oder aber es mittlerweile eine Möglichkeit gibt, es eleganter zu implementieren, als ich es tat
.