急求大神帮忙,C++ builder中自己封装的dll文件无法正常执行功能

qq_43231268 2019-01-24 04:56:31
我编了一个程序功能为:从D盘文件夹选取txt文件,并对文件进行合并和数据提取。
没有封装为.dll前程序能正常运行,封装完以后出现如下错误提示:access violation at address xxxxx in module xx.dll,接口程序没有问题,各位大神能提供一下帮助吗,求指教,感激不尽
...全文
179 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_43231268 2019-01-25
  • 打赏
  • 举报
回复
引用 4 楼 ooolinux 的回复:
OpenDialog1->Execute();可能返回false,要if判断一下。

如果真的返回了要怎么处理呀,谢谢
qq_43231268 2019-01-25
  • 打赏
  • 举报
回复
引用 4 楼 ooolinux 的回复:
OpenDialog1->Execute();可能返回false,要if判断一下。
好的,谢谢,我试一下子
ooolinux 2019-01-25
  • 打赏
  • 举报
回复
OpenDialog1->Execute();可能返回false,要if判断一下。
qq_43231268 2019-01-25
  • 打赏
  • 举报
回复
引用 2 楼 doloopcn 的回复:
代码触动了不应该触动的东西

一般来说,有些代码应该在初始化完成或有实例创建完成才启动的,你设计环境就启动了,就很容易出错

上一下关键代码

多谢帮忙,代码如下,我用断点调试以后发现当执行到让文件名在edit1显示的时候就报错,麻烦再帮忙看一下,谢谢
_fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
int row;
int lines;
const char *importFilePath;
FILE *fp=NULL;
OpenDialog1->InitialDir="D:\\";
OpenDialog1->Filter= "文本文件(*.txt)|*.txt|所有文件(*.*)|*.*";
SaveDialog1->InitialDir ="D:\\";
SaveDialog1->Filter= "文本文件(*.txt)|*.txt|所有文件(*.*)|*.*";
SaveDialog1->DefaultExt = ".txt" ;
OpenDialog2->InitialDir="D:\\";
OpenDialog2->Filter= "文本文件(*.txt)|*.txt|所有文件(*.*)|*.*";
SaveDialog2->FileName ="SwarmUUV";
SaveDialog2->InitialDir ="D:\\";
SaveDialog2->Filter= "文本文件(*.txt)|*.txt|所有文件(*.*)|*.*";
SaveDialog2->DefaultExt = ".txt" ;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ImportFileButtonClick(TObject *Sender)
{
OpenDialog1->Execute();
Form1->Edit1->Text = Form1->OpenDialog1->FileName;
}
qq_43231268 2019-01-25
  • 打赏
  • 举报
回复
给位大神,非常感谢你们出马,问题解决了,将Form1指针修改为this就行了
qq_43231268 2019-01-25
  • 打赏
  • 举报
回复
引用 7 楼 早打大打打核战争 的回复:
if (OpenDialog1->Execute())
Form1->Edit1->Text = Form1->OpenDialog1->FileName;
谢谢,不过还是不行
qq_43231268 2019-01-25
  • 打赏
  • 举报
回复
引用 8 楼 ooolinux 的回复:
如果按取消或者没有选择文件而关闭对话框,会返回false。
非常感谢,不过还是有同样的错误
ooolinux 2019-01-25
  • 打赏
  • 举报
回复
如果按取消或者没有选择文件而关闭对话框,会返回false。
  • 打赏
  • 举报
回复
if (OpenDialog1->Execute())
Form1->Edit1->Text = Form1->OpenDialog1->FileName;
doloopcn 2019-01-24
  • 打赏
  • 举报
回复
代码触动了不应该触动的东西

一般来说,有些代码应该在初始化完成或有实例创建完成才启动的,你设计环境就启动了,就很容易出错

上一下关键代码
qq_43231268 2019-01-24
  • 打赏
  • 举报
回复
自顶一下下

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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