我正在开发一个自定义组件,我希望添加一个已发布的属性,它将是一个TQuery数组(它应该在对象检查器中可见)。主要功能是将组件放在表单上,然后直观地选择在同一表单或任何其他项目表单上存在的查询。
这可行吗?据我所见,您只能编程地使用这样的数组属性.
更新
首先,谢谢你的回答,亚历克斯!
其次,我必须修改其他人创建的旧应用程序,所以我想尽可能少地使用它(实际上还有第二个应用需要“修复”,我被告知它的体积是原来的两倍)。现在详细说明:该应用程序有abou 15表单,用于各种db操作。可以想象,每个表单都有2-3个TQuery对象。问题是用户必须使用db进行身份验证才能执行查询,因此他知道db用户& pwd是一个安全流。
为了避免这种情况,引入了一种中间系统。一个连接和身份验证与它,并请求必要的db数据:用户,pwd和数据库名称。我的工作是使用这个系统和自动登录到数据库。访问这个中间系统所必需的凭据不被认为是一个安全流,所以我将从一个inifile中读取它们,它取决于部署它的环境:测试、预生产、生产。
因此,我在窗体上放置了一个TDatabase组件,将其LoginPrompt属性设置为FALSE。然而,棘手的部分是在执行之前将每个TQuery调整为每个环境的不同数据库名称。
不知道,如果我说得很清楚,但这是我想出的最简单的解释
谢谢你,G
发布于 2010-10-13 12:21:33
好吧,您已经在项目中添加了一个TDatabase。现在,用一些随机名称填充TDatabase的“TDatabase”属性。项目中的每个TQuery组件都有一个"DatabaseName“属性,并在这些属性中填写相同的名称!现在,您的数据库及其所有查询都将连接起来,您可以使用TDatabase对象来访问它们。
发布于 2010-10-13 10:10:39
是的,这是可以完成的,但是您必须用自己的输入表单编写自己的属性编辑器来管理数组中的数据。有很多信息可以在网上找到。是的,您可以创建一个组件来检查其父控件上的控件,从而允许您访问这些控件。
但这是否切合实际?为什么在设计时需要一个TQuery组件数组?也许你需要重新考虑你的设计,所以你绝对肯定你需要这个功能。(此外,使用数据模块包含查询有什么问题?)
https://stackoverflow.com/questions/3922444
复制相似问题