Hola,
Por añadir otra opción, al menos a partir de Delphi 2007, existe la propiedad "StrictDelimiter" en "TStrings", que solventa el "problema de los espacios en blanco". Es decir que esto:
Código Delphi
[-]
const
SOURCE_TEXT = 'Nombre=Federico Salvador,DNI=23232323';
var
s: string;
t: TStrings;
begin
t := TStringList.Create();
try
t.StrictDelimiter := true;
t.CommaText := SOURCE_TEXT;
for s in t do
begin
ShowMessage(s);
end;
finally
t.Free();
end;
end;
Mostrará en sendos mensajes:
Código:
Nombre=Federico Salvador
DNI=23232323
Tal como esperas.