Also ein Hauptfehler deiner Procedure Parse scheint mir der fehlende Übergabeparamter zu sein.
==> nicht wiederverwendbar.
hier mal meine Version zum "Putzen" von
SQL-Anweisungen.
(kann zwar nur einzeilige Kommentare entfernen, ist aber recht schnell)
Delphi-Quellcode:
{**************************************************************************
* NAME: CleanSqlStrings
* DESC: entferne Kommentarzeilen aus TStrings
* PARAMS: [-]
* CREATED: 28-08-2003/shmia
*************************************************************************}
procedure CleanSqlStrings(
SQL:TStrings);
var
s :
string;
i : Integer;
begin
Assert(Assigned(
SQL));
for i :=
SQL.Count-1
downto 0
do
begin
s :=
SQL[i];
if Length(s) >= 2
then
begin
SetLength(s, 2);
if (s = '
--')
or (s='
//')
then
// Kommentarzeile entfernen
SQL.Delete(i);
end;
end;
end;