我TcxGrid用一个简单的表视图创建了一个表.使用DataController.Values[n,m]一个简单的字符串将数据戳入表中,我有大约10列将显示各种字符串宽度.
我遇到的问题是获得一个具有水平滚动条的表并且已自动调整其列的大小.如果我设置为CellAutoWidthtrue,则将所有列都放入显示宽度(没有滚动条),但如果我将其设置为false,则会得到一个滚动条,但是我的默认宽度和数据字符串的列被截断.
有些人可以告诉我如何获得水平滚动条并让每列调整其宽度以适应其最大数据宽度吗?
谢谢Brian.
我正在准备一个安装程序(Inno Setup)将我的组件包安装到Delphi XE中,而无需在IDE中手动操作.
我需要修改Delphi库路径,例如删除部分路径(例如 xxx;MyOldPath;yyy)并插入新路径xxxx;MyNewPath;yyyy.有没有一种首选的方法,或者我必须写一个实用程序来做到这一点?
谢谢
Embarcadero帮助表明XML数据绑定向导也在XE2(以及XE和更早版本)中,但我看不到它(在两台机器上).它移动了吗?它没有进入XE2吗?我可以添加一个文件来安装它吗?我可以继续使用XE生成类,但我即将卸载XE .....!
我一直使用搜索来查找我(巨大的)应用程序源中的内容,因此搜索效果对我来说非常重要.目前在Delphi XE2 IDE中我喜欢使用:
没有别的想象,只是一个文本关键字.这样做没问题,但我真正想做的是扩展我现在正在做的事情,包括包含'A'和'B'的行,其中A和B是任意一组字符(一种布尔搜索).与A和B完全匹配是很好的,因为现在允许您输入两个非常部分的关键字,但仍然可以找到一个独特的出现.多年来我一直在自己的搜索引擎中使用这种方法.请问在Delphi IDE中有一个简单的方法吗?谢谢
我正在将我的代码从XE2移到Delphi XE3,但它应该在两者中编译.我注意到有些单位将'System.Actions'自动添加到USES子句中.这会在返回XE2时导致错误:
F1026找不到文件:'System.Actions.dcu'(单位范围"系统"表示仅限Win64,OSX32,Win32)
我从来没有真正理解单位范围.有没有正确的解决方案来解决这个问题而不是在编译器版本{$ IFDEF}中包装东西?
谢谢
我的应用程序布局基于左侧的treeView和右侧的面板.该面板托管一个不同的TForm类,具体取决于所选的树节点(一种'形式浏览器').一次只显示一个表单,该表单公开存储在别处的基础数据,并在每个新的树节点点击时创建和销毁表单实例.
除了以下场景外,这一切都正常.单击表单上的一个按钮,该按钮启动需要一秒左右的操作.在此操作期间,可能会调用Application.ProcessMessages.现在,在此操作实际完成之前,用户单击一个新的树节点.处理此wmMousedown消息,导致表单立即释放.然后,操作代码返回到表单代码,以查找自己已更改并导致AV.
我的问题是,在我允许表单被释放之前,有没有办法知道表单的消息已经全部处理完毕?单击关闭按钮时,模态窗体似乎会执行此操作,因为如果忙,它们会在关闭之前暂停...
谢谢Brian
客户在安装期间从我们的应用程序报告错误,这表示当域管理员执行安装时,下面的"IsWindowsAdministrator"中的代码返回FALSE.以本地管理员身份登录,一切正常.安装程序(Innosetup)调用exe文件,该文件执行一些服务控制管理器操作(见下文),但在调用下面的IsWindowsAdministrator以检查用户状态之后.
我想检查管理员状态的原因是在调用服务管理器任务以使用驱动程序之前提供一个优雅的错误(请参阅下面的驱动程序安装代码).这些是我在Innosetup内部不能轻易完成的任务,我选择将它们包装到安装程序调用的小exe中.
CHECK ADMIN CODE中的代码对此任务有效吗?或者我应该放弃它并将调用包装到服务控制管理器中,除非有更好的错误消息?
谢谢
=====================驱动程序安装代码========================
procedure ArtIODriver_Install( AShowSummary : boolean );
var
hServiceControlManager : THandle;
hService : SC_HANDLE;
ServiceStatus : TServiceStatus;
ServiceArgVectors : PAnsiString;
begin
If not IsWindowsAdministrator then
Raise EArtIODriver.Create(
'Error IODR4 - You must be a windows administrator to perform this action' );
If not FileExists( ArtIODriver_FilePath ) then
Raise EArtIODriver.CreateFmt(
'Error IODR7 - Unable to locate the driver file "%s"',
[ArtIODriver_FilePath] );
hService := 0;
hServiceControlManager := 0;
try
hServiceControlManager := OpenSCManager(
nil,
nil,
SC_MANAGER_ALL_ACCESS); …Run Code Online (Sandbox Code Playgroud) 我使用FastMM4,通常在开发期间处于完全调试模式.如果我关闭此模式,我是否应该安排我的应用程序返回到Delphi(XE2)MM或者是否一直保持FastMM4链接的性能优势?
我对如何从具有TPersistent字段的TComponent写出属性感到非常困惑.例如,我有:
TChildObj = class( TPersistent )
PRIVATE
FVisible: boolean;
FColor: TColor;
PUBLIC
PUBLISHED
property Visible : boolean
read FVisible
write FVisible;
property Color : TColor
read FColor
write FColor;
end;
TTest = class( TComponent )
constructor Create( AOwner : TComponent ); override;
destructor Destroy; override;
private
FChildObj : TChildObj;
FOne: integer;
published
property One : integer
read FOne
write FOne;
property ChildObj : TChildObj
read FChildObj;
end;
Run Code Online (Sandbox Code Playgroud)
当我使用以下编写器代码时:
procedure TForm1.Button5Click(Sender: TObject);
var
MS : TMemoryStream;
SS : TStringStream;
Test : …Run Code Online (Sandbox Code Playgroud) 我遇到了优秀的PDF库代码SynPDF,并希望用它来显示Delphi表格的PDF文档(我不能使用导入的'Acrobat Control for ActiveX'控件,因为它出现焦点时会出现问题 - 加上一些其他皱纹).我在SynPDF.pas中看不到任何"LoadFromFile"或任何解析类型的命令.它仅用于创建PDF文档?
delphi ×10
delphi-xe2 ×4
autosize ×1
boolean ×1
components ×1
delphi-xe3 ×1
dns ×1
fastmm ×1
library-path ×1
migration ×1
path ×1
pdf ×1
search ×1
tcomponent ×1
tcxgrid ×1
tform ×1
tpersistent ×1
xml-binding ×1