>>447
Delimit関連はひとつ勉強になりました。ありがとうございます。

僕も出来ればTStringListでいきたいのですが、実はsub(int argc, char **argv)は
外部ルーチンなので、引数の仕様を変えられないのです。それで止む無く…。

c_strについてもありがとうございました。ヘルプを参照して

for (int i(0); i < argcnt; ++i) {
 char* cp(new char[listp->Strings[i].Length() + 1]);
 strcpy(cp, listp->Strings[i].c_str());
 argvp[i] = cp;
}

としました(あと、>>446ではfree(argvp);が抜けてました)が、
ループ内でnewした各cpについてはどうやってdeleteすればいいのでしょうか?
重ねてご指南宜しくお願いします。