【发布时间】:2019-06-12 12:12:40
【问题描述】:
我在 TIBDataset blob 字段中有文件。
我需要能够打开它们并保存对它们所做的所有编辑。
我曾尝试打开这样的文件:
String sFileName = "Test.txt";
((TBlobField*)(TDataset->FieldByName("FILE"))->SaveToFile(sFileName);
ShellExecute(0, L"open", sFileName.c_str(), L"", L"", SW_SHOWNORMAL);
但我无法可靠地删除制作的文件,或保存所有编辑。
有没有办法从 blob 字段打开文件,或从关闭(外部)文件中获取回调?
【问题讨论】:
-
我个人添加了一个计时器,每隔几秒钟我检查一下文件是否已更改。
-
@MarcGuillot 查看
SHChangeNotifyRegister()或ReadDirectoryChangesW()以监控文件的更改。 -
@Taavi 如果您改用
ShellExecuteEx()(或者更好的是CreateProcess()),它可以返回一个HANDLE,您可以等待知道生成的进程何时退出。然后您可以根据需要重新加载和删除您创建的文件。
标签: c++ delphi c++builder