小编Joh*_*ica的帖子

在我的应用程序主表单可见后,如何直接进行对话框?

我一直在使用TFormOnActivate事件让我有机会在我的应用程序启动后立即显示一个对话框.我希望主窗体已经加载和可见.这样做的好方法是什么?

我发现OnActivate除非形式WindowState是正常的,否则它会正常工作wsMaximized.

在过去,我已经以各种方式完成了我想要的东西,但我希望有更好的方法.

这对我有用:

procedure TForm1.FormCreate(Sender: TObject);  
begin 
  Application.OnIdle:=OnIdle; 
end; 

procedure TForm1.OnIdle(Sender: TObject; var Done: Boolean); 
begin 
  Application.OnIdle:=nil; 
  form2:=TForm2.Create(Application); 
  form2.ShowModal; 
end;
Run Code Online (Sandbox Code Playgroud)

有没有更好的办法?

delphi delphi-xe

6
推荐指数
2
解决办法
1418
查看次数

如何通过名称(字符串)访问变量?

我有一些全局字符串变量.

我必须创建我可以传递的函数并将它们存储在某个结构中.后来我需要枚举它们并检查它们的值.

如何轻松实现这一目标?

(我想我需要某种反射,或存储指针数组).无论如何,任何帮助将不胜感激.

谢谢!

delphi rtti

6
推荐指数
2
解决办法
6305
查看次数

如何在SQL中替换左连接

任何人都可以告诉我如何在不使用左连接的情况下编写左连接的等价物.

Select * from a left join b on a.name = b.name.
Run Code Online (Sandbox Code Playgroud)

sql left-join

6
推荐指数
2
解决办法
2万
查看次数

如何在控件中嵌入firemonkey表单?

我试图在Scrollbox中嵌入一个表单:

procedure TfrmMain.FormCreate(Sender: TObject);
var
  Control:TControlView;
begin
  Control := TControlView.Create(Self);
  Control.BorderIcons := [];
  Control.parent := ListControls;
  Control.width := 800;
  ListControls.AddObject(Control);
  Control.Visible:= True;
end;
Run Code Online (Sandbox Code Playgroud)

然而,表格显示在tfrmMain后面和表格的边缘之外.

我的想法是在一个面板中放置一个表单,并且都在滚动框内.每个表单代表一个复杂的项目,有几个控件和东西(不使用ListBox的原因?Firemonkey控件创建比简单地执行一个表单并嵌入它要困难得多)

delphi delphi-xe2 firemonkey

6
推荐指数
1
解决办法
5756
查看次数

32位Excel加载项是否可以在64位Excel中运行?

最近,因为我移动到Excel 2010 64位,我发现我使用的许多加载项(XLL)经常停止工作(当我尝试添加时,Excel报告"无效的加载项"错误).

是否始终认为32位内置加载项永远不会与64位Excel兼容,或者只是我的加载项的情况?

excel 64-bit compatibility add-in

6
推荐指数
1
解决办法
2万
查看次数

坚持.Net 4中的安全信息

您使用Microsoft Visual Studio 2010和Microsoft .NET Framework 4来创建应用程序.该应用程序连接到Microsoft SQL Server 2008数据库.该应用程序使用Microsoft ADO.NET SQL Server托管提供程序.当连接失败时,应用程序会记录连接信息,包括完整的连接字符串.信息以纯文本形式存储在.config文件中.

您需要确保数据库凭据是安全的.

您应该将哪个连接字符串添加到.config文件中?

A .Data Source = myServerAddress; 初始目录= myDataBase; 综合安全= SSPI; 坚持安全信息=假;

B .Data Source = myServerAddress; 初始目录= myDataBase; 综合安全= SSPI; 坚持安全信息=真;

C .Data Source = myServerAddress; 初始目录= myDataBase; 用户ID = myUsername; 密码= myPassword; 坚持安全信息=假;

d.数据源= myServerAddress; 初始目录= myDataBase; 用户ID = myUsername; 密码= myPassword; 坚持安全信息=真;

根据指南,答案是'A'.但在我看来,答案是'C'.如果我们使用Integrated Security = SSPI,我们不需要提供UserID和Password.因此,Persist Security Info = false无效.

据我所知,只有连接字符串具有用户凭据时,Persist Security Info才会生效.

你能告诉我哪一个是正确的吗?谢谢.

c# connection-string .net-4.0

6
推荐指数
1
解决办法
6638
查看次数

如何使用红色边框设置所需的编辑字段?

我想要一些小田地.并且当他们不会被填补时,他们将是红色的并且需要填写.在帖子可以完成之前

以下是我想要实现的内容的屏幕截图:

在此输入图像描述

delphi

6
推荐指数
2
解决办法
4385
查看次数

在RAD Studio中使用正则表达式替换文本

我想替换例如F(G(X,Y)); H(X,Y); 在RAD Studio IDE中.

我使用的正则表达式是:

查找表达式:F\(G\((.+)\)\); 替换表达式:H($1)

结果并不如我所料:

结果: H($1)

似乎RAD Studio无法识别$ 1作为两个括号之间的内容.
有人有想法吗?
谢谢

regex delphi

6
推荐指数
1
解决办法
3036
查看次数

为什么不将对象默认为nil?

在Delphi中,从TObject下降的变量的记录行为是默认值nil.但是,我遇到的情况并非如此.

通过IDE(F9)运行以下代码示例会得到混合结果

var
  objTemp : TMemDataSet;
begin
  if (objTemp = nil) then
     ShowMessage('Nil');
end;
Run Code Online (Sandbox Code Playgroud)
  • 32位/调试模式,默认为零
  • 32位/释放模式,默认为零
  • 64位/调试模式,默认为nil
  • 64位/释放模式,默认为零

我的理解是值应始终默认为零.

还在XE2和XE5下对此进行了测试,结果相同.

这是Delphi中的预期行为吗?

delphi

6
推荐指数
1
解决办法
1392
查看次数

是否可以在打开ADOQuery时显示记录?

我有一个由DataSource链接到DBGrid的ADOQuery.
ADOQuery和DataSource位于DataModule中,连接采用另一种形式.

在查询获取记录时,有没有办法让我的应用程序显示行?
像MSSQL Management Studio一样.

选择大约需要7分钟来终止执行.

我正在使用Delphi 2007.

sql-server delphi delphi-2007 tadoquery

6
推荐指数
1
解决办法
355
查看次数