请问如下代码有和错误?

shawnyau 2003-01-16 05:14:23
void __fastcall TfrmMain::btnOpenClick(TObject *Sender)
{
if(OpenDialog->Execute()){
PlayList->Items->Clear();
PlayList->Items->BeginUpdate();
for(int i=0; i<OpenDialog->Files->Count; i++){
PlayList->Items->Add(ExtractFileName(OpenDialog->Files[i].Text));
}
PlayList->Items->EndUpdate();
EnableAll();
}
}
...全文
18 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
shawnyau 2003-01-16
  • 打赏
  • 举报
回复
呵呵,谢谢了。
tccsdn 2003-01-16
  • 打赏
  • 举报
回复
void __fastcall TForm1::BitBtn1Click(TObject *Sender)
{
if(OpenDialog1->Execute())
{
for(int i=0; i<OpenDialog1->Files->Count; i++)
{
ListBox1->Items->Add(ExtractFileName(OpenDialog1->Files->Strings[i]));
}
}
}

这样没问题了
shawnyau 2003-01-16
  • 打赏
  • 举报
回复
to tccsdn(BCB||乱码):
呵呵,谢谢关注,不过你的方法不对,因为OpenDialog的Files属性是一个
TString类型的,而ExtractFileName()函数需要的是一个AnsiString类型的参数,所以你的写法是不能通过编译的。
AeLord 2003-01-16
  • 打赏
  • 举报
回复
这位朋友在做什么呀?
tccsdn 2003-01-16
  • 打赏
  • 举报
回复
PlayList->Items->Add(ExtractFileName(OpenDialog->Files[i].Text));
该为:
PlayList->Items->AddStrings(ExtractFileName(OpenDialog->Files);
shawnyau 2003-01-16
  • 打赏
  • 举报
回复
编译无错,执行报错:
Access violation at address 00000000.Read of address 00000000
halibut 2003-01-16
  • 打赏
  • 举报
回复
!


ExtractFileName(OpenDialog->Files->Strings[i].Text);
halibut 2003-01-16
  • 打赏
  • 举报
回复
没看出来!有吗?指点一下!

13,826

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧