首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CDS客户端数据集文件-是否有其他方法来处理这些文件?

CDS客户端数据集文件-是否有其他方法来处理这些文件?
EN

Stack Overflow用户
提问于 2012-03-30 07:22:06
回答 1查看 415关注 0票数 1

我有一个以前使用Delphi IClientTable接口(MIDAS.DLL??)的C++应用程序。维护本地文件数据库(.CDS文件)。在我们的C++应用程序中,IClientTable是一个COleDispatchDriver MFC接口/对象。

就我个人而言,我希望完全摆脱这一点,转而使用SQLite,但不幸的是,我现在不能这样做。

有没有人能告诉我有没有开放源码的方法来替代这个COM开销?我想要一个简单的DLL,库或一组源文件编译到我的程序中,以摆脱COM接口,它给我带来了如此多的痛苦。

如果你真的想知道为什么我想要摆脱COM接口--这很奇怪--我们已经使用它10年了,没有任何问题。最近,我们发现一位使用Windows XP Embedded的客户,由于某些原因,当我们使用IClientTable COM分派接口时,这会导致Windows WM_QUERYENDSESSION消息被吸收,或者不再到达我的应用程序。在我停止使用IClientTable接口的那一刻,我收到了WM_QUERYENDSESSION消息。

简而言之: Windows调度界面似乎阻止了IClientTable被允许注销/关机。

EN

回答 1

Stack Overflow用户

发布于 2012-03-31 05:53:08

我不知道有任何打开二进制ClientDataSet文件的替代方法。ClientDataSets也可以使用XML文件格式,但是我不知道您的IClientTable接口是否允许您访问该功能。

如果你还没有意识到这一点,我想在Delphi2007或Delphi2009中,ClientDataSet对COM的依赖已经被移除了。如果COM依赖来自ClientDataSet,那么在Delphi的最新版本中重新编译包装器DLL可能会有所帮助。

据我所知,在Delphi的任何版本中都没有IClientTable这样的东西。我猜IClientTable是您的团队为封装ClientDataSet的特性而编写的包装器DLL的一部分。如果编写包装器DLL人员将IClientTable接口公开为COM对象,这也可能是您依赖COM的部分原因。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9935004

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档