Für CompareText hab ich eh eine eigene Speed-Version,
da im Endefekt auch Delphi nur (nach diesen ganzen StringCheckSachen) die
WinAPI bemüht und diese auch nicht unbegingt die Flotteste ist.
Und das mit dem global umstellen wird wohl nicht gehen, da man da doch die kompletten DCUs von Delphi neu kompilieren müßte ... sonst werden ja die Kompilerschalter sozusagen nicht übernommen.
OK, also sollte es reichen, wenn ich diese Option in meinen Dateien laß
und kann dann dennoch die eigenen Funktionen ausbauen.
Ohne dieses Stringchecking kann ich mit dem restlichen Code noch leben
und muß nicht solche Funktionen drinnen lassen
Delphi-Quellcode:
Function StrLength(Const S: UnicodeString): Integer; Inline;
Begin
Result := Integer(S);
If Result <> 0 Then Result := PInteger(Integer(S) - 4)^
{$IF not Declared(UnicodeString)} div 2 {$IFEND};
End;
Function StrChar(Const S: UnicodeString; Index: Integer = 0): WideChar; Inline; Overload;
Begin
Result := PWideChar(Integer(S) + Index * 2)^;
End;
Function StrChar(Const S: AnsiString; Index: Integer = 0): AnsiChar; Inline; Overload;
Begin
Result := PAnsiChar(Integer(S) + Index)^;
End;
wo dann StrChar(S, 12) statt S[12] im Code auftaucht