请问一个保存路径的有关问题

请教一个保存路径的问题
请大家看看我的保存路径是不是有问题
我在保存Excel报表时vExcelApp.PG("ActiveWorkbook").FN("SaveAs","D:\\a.xls";)即直接用"D:\\a.xls"表示路径时是没问题的,但是我想自己输入保存名字
String filename,road;
filename=Form1->Edit1->Text;
road="D:\\"+filename+".xlsx";
vExcelApp.PG("ActiveWorkbook").FN("SaveAs",road.c_str());
这时程序就报错了 说是什么无效的地址 我看了下老妖的示例也一样啊 我用的是C++Builder 2009 是不是有什么表示方法变了?

------解决方案--------------------
建议在OLE代码中用WideString,如:

C/C++ code
UnicodeString filename = UnicodeString().sprintf(L"D:\\%s.xlsx", Form1->Edit1->Text);
vExcelApp.PG("ActiveWorkbook").FN("SaveAs", WideString(filename));