Dann würde ich den Fehler nicht bei Delphi suchen, sondern bei der Datenbank und vorallem bei den Schnittstellenkomponenten.
Die werden dann vermutlich irgendwo einen Bug haben.
Wolltest du nicht mal den Tippfehler beheben?
Wie erwähnt, zeigt dir der CodeHighlighter, daß der zweite Zeile definitiv falsch ist, welches dir auch der Compiler gern nochmal bestätigen wird.
Aus Sicht des Codeparsers, ist das hier korrekt, wenn man es auf den "String" bezieht.
Delphi-Quellcode:
sTest:= 'Hello ''World''!'; // im String: Hello 'World'!
sTest:= 'Hello ''''World''''!'; // im String: Hello ''World''!
Wenn man jetzt nochmal einen Parser dazwischen schaltet, welcher ebenfalls wieder die Strings entsprechend parst, dann könnte das so aussehen.
(einmal ein Parser nach Delphi-Standard und einer nach C-Standard ... auf Seite der Datenbank meist das Letztere)
Delphi-Quellcode:
sTest:= '
SELECT ''
Hello ''
''
World''
''
!''
';
// im Query: SELECT 'Hello ''World''' => im DB-Feld: Hello 'World'!
sTest:= '
SELECT ''
Hello \''
World\''
!''
';
// im Query: SELECT 'Hello \'World\'' => im DB-Feld: Hello 'World'!