if (WMPCount + Length(Exts) >= WMPOpenMaxChar) begin Exts := Exts + ';'; P := 1; for I := 1 to Length(Exts) do begin if (WMPCount + I) > WMPOpenMaxChar then Break; if Exts[I] = ';' then P := I; end; Delete(Exts, P, Length(Exts) - P + 1); end; if Exts <> '' then begin WMPCount := WMPCount + Length(Exts) + 1;