小编Mic*_*nny的帖子

Delphi:应用程序初始化 - 最佳实践/方法

我经常遇到这个,我只是在寻找最佳实践/方法.我有一个包含数据库/数据模块的应用程序,并且想要在启动时启动数据库/数据集,而在设计时将"运行时活动"设置为true(数据库位置不同).当应用程序启动时,还运行Web"检查更新"例程.

给定TForm事件序列,以及各种试错的结果,我目前正在使用这种方法:

我使用在主窗体中设置的"Globals"记录来存储所有全局变量,有一个名为Globals.AppInitialized(boolean)的元素,并在主窗体的Initialization部分将其设置为False.

在主窗体的OnShow事件中(所有窗体都是由那时创建的),我测试了Globals.AppInitialized; 如果它是假的,我运行我的"初始化"的东西,然后通过设置Globals.AppInitialized:= True完成.

这看起来效果很好,但这是最好的方法吗?寻找别人的经验,想法和意见的见解.TIA ..

forms delphi initialization datamodule

3
推荐指数
2
解决办法
5461
查看次数

从另一个表单访问DataModule上的事件

在Delphi 2009中,我有一个带有MyProcedure过程的表单,该过程写入表单上的标签.表单使用带有ClientDataSet的DataModule.当触发ClientDataSet的AfterScroll事件时,应执行MyProcedure.为了避免循环引用,更重要的是,因为我希望DataModule可以重用,所以DataModule不应该引用这个特定的Form.

简而言之,我希望我可以从我的表单访问AfterScroll事件.我可以从表单中挂接DataModule上的Afterscroll事件吗?我认为它应该是可能的,但我不记得该怎么做了.提前致谢.

delphi event-handling datamodule

3
推荐指数
1
解决办法
2167
查看次数

有没有办法让Delc 2010中的"代码折叠"保持折叠状态

我非常喜欢Delphi 2010中的Code Folding功能.但是,每次启动Delphi 2010并重新打开我的项目时,我明显折叠的代码不再折叠.有没有办法保持折叠的代码,当你关闭IDE折叠?

delphi code-folding delphi-2010

3
推荐指数
1
解决办法
564
查看次数

TClientDataset组件应该放在哪里?

一些背景:我想开发一个桌面应用程序,将SQL数据库作为存储.一次只有一个用户连接到数据库.
为了使维护更容易,我想从Busniss Logic中分离GUI.因此,我想为每个Dialog使用DataModule(实现BL的地方).

我的问题:插入TClientDataset组件的适当位置在哪里?直接在Dialog或DataModule中?

delphi database-design tclientdataset datamodule

3
推荐指数
1
解决办法
661
查看次数

在设计模式下获取TDataModule

如何在设计模式(组件编写)中获取所有创建的对象(TDataModule类型)?

delphi datamodule delphi-2010

3
推荐指数
1
解决办法
541
查看次数

TDataModule继承

当我试图继承TDataModule时,Delphi将后代类视为一种形式,为它们提供字体和客户端属性等属性.(运行时"属性不存在"异常)

TixDataModule = class(TDataModule);

TDM = class(TixDataModule)
end;
Run Code Online (Sandbox Code Playgroud)

我能做些什么才能让它发挥作用?

delphi datamodule delphi-2010

3
推荐指数
1
解决办法
1551
查看次数

在光标处打开文件不会在IDE中打开文件

当我将鼠标悬停在Uses子句中的UnitNames上时,会弹出一个窗口,显示UnitName命名空间.例如,当我鼠标悬停在SysUtils单元上时,我在弹出窗口中看到了SysUtils Namspace.如果我右键单击SysUtils并选择Cursor上的Open File,则会在IDE中打开源代码.

如果我右键单击并选择"在光标上打开文件",则会显示"打开文件"对话框.

为什么所有单元不仅仅是打开IDE?

ide delphi delphi-units

3
推荐指数
1
解决办法
329
查看次数

如何找出引入了哪个版本的Delphi组件?

我刚刚开始使用ActionMainMenuBar和ActionManager,我想找出这个组件引入的Delphi版本是什么?我在哪里可以找到这类信息?

delphi history

3
推荐指数
1
解决办法
307
查看次数

What is the best way in Delphi to generate a list of forms/units in the order they load?

I had an issue where a file kept deleting on startup and I couldn't track down the code responsible. I wound up adding Vcl.Dialogs to all the units and creating an initialization section that looked like this:

initialization
begin
  ShowMessage('Inside [Unit Name Here]');
end;
Run Code Online (Sandbox Code Playgroud)

This was quite a pain. Is there an easy way to generate a list of forms/units in the order in which they fire off?

UPDATE: 2019-08-01 (Helpful MAP links)

Here are two links that …

delphi initialization

3
推荐指数
2
解决办法
240
查看次数

哪个版本的Delphi会让我创建在Mac上运行的软件?

我使用Delphi,去年我从D5 Enterprise升级到Delphi 2010 Profession.偶尔我会收到电子邮件,询问我什么时候会在Mac上运行.

是否有一个版本的Delphi可以创建在Mac上运行的软件?

如果没有,你知道Embarcadero是否计划在不久的将来推出一个这样做的版本?

delphi macos delphi-2010

2
推荐指数
3
解决办法
1013
查看次数