我正在使用 Delphi 10.4.1 Enterprise 并使用 SQLite 数据库编写了一个 VCL 程序。
由于我怀疑是 OneDrive 问题,我提到源代码文件夹是 OneDrive 管理的区域的一部分。
有时,在调试时,我的 Delphi 程序由于未知原因挂起,Delphi 退出,没有进一步通知。每当发生这种情况时,MainForm 和 DataModule (DM1) 之间的连接就会丢失:在 MainForm 的 Object Inspector 中,所有 DataSource 分配,即与 DataModule 中的 DataSource 的连接都消失了。此外,当我重新加载程序时,出现错误消息
模块“rtl270.bpl”中地址 500C3553 的访问冲突。读取地址 00000008
代码检查没有错误,但在编译时出现以下消息/请求:
模块“MainForm”链接到当前项目中找不到的模块“DM1”。你想删除/重定向到另一个模块的链接吗?
奇怪的是,IDE 中的 DataModule 设计表单不再可见,只剩下它的代码。因此,在 MainForm 中,DataModule 都不可见,因为 DB 控件的 DataSource 连接器中的下拉列表保持为空。最后但并非最不重要的一点是,当我尝试保存 MainForm 时,它说:
模块“*MainForm”引用了另一个模块,在加载 DM1 之前无法保存
无论我试图让它恢复正常,它都没有成功。但是,在 OneDrive 根文件夹中,我看到一个名为“ .849C9593-D756-4E56-8D6E-..etc.. ”的文件,由于其文件日期,它似乎与我的程序相关联。只能在关闭 OneDrive 时删除或修改,但重启后会恢复。
我被卡住了,已经很多天了。
有谁知道发生了什么,并且可以给我一个关于如何进行的提示?