上下文是,我正在使用BDE维护在delphi 7上运行的应用程序。我以编程方式分配dbricheditcontrols的数据字段,以允许用户编辑rtf文档。当相关表格打开时,将显示未格式化的文本,然后说此人移至下一个文档时,富文本突然加入;我怀疑这一定是某种初始化问题,但我缺少什么?无法在线找到解决方案。
谢谢
答案 0 :(得分:5)
通常,我不会发布一个陈述q的答案
我以编程方式分配dbricheditcontrols的数据字段,以允许用户编辑rtf文档
但未包含您正在使用的代码-您应该提供了MCVE(请参见https://stackoverflow.com/help/mcve)。
但是,您的建议暗示您可能正在尝试以错误的方式进行操作。您说您正在使用TDBRichEdit
组件,但是如果正确使用它,则它不需要对数据字段进行任何编程分配即可:您只需要通过以下方式将组件连接到正在使用的TTable或TQuery: TDataSource组件,并将DBRichEdit配置为访问TTable / TQuery中存储RichEdit文本的任何字段。可以在设计时使用IDE中的对象检查器来设置属性,而无需任何代码。
因此,在我看来,您要么未正确使用DBRichEdit,要么正在尝试执行q中未解释的操作。
您可以使自己满意,DBRichEdit可以自动运行,而无需在代码中加载或保存其内容,如下所示:
打开FishFacts演示
将TDBNavigator和TDBRichEdit添加到窗体。将DBRichEdit1的DataField
属性设置为Notes
。
将ReadOnly
的{{1}}属性设置为False。然后将Table1
的{{1}}属性设置为True。
编译并运行项目。运行时
启动WordPad.Exe并在其中创建一些RTF。将其复制到剪贴板。单击DBNavigator1的Table1
速度按钮。
将富文本粘贴到Active
中。
您应该会发现您可以从编辑的记录中移开并返回,并且RTF文本将自动重新加载。
此外,以下代码对我来说也可以从.Rtf文件中加载Save
字段
DBRichEdit1
,并且最初不会显示您所描述的未格式化文本。因此,我很确定您的问题出在您的代码中,而您没有向我们展示。
顺便说一句,我将其发布为“答案”的唯一原因是,要发表评论的内容要多于舒适的内容。