小编TLa*_*ama的帖子

FireMonkey/Rad Studio XE2:如何在OS X上显示SaveDialog过滤器?

我创建了一个(Delphi XE2)Firemonkey示例程序,它包含一个TButton和一个带有两个不同过滤器的TSavedialog.(TSaveDialog组件支持Win32/Win64和OS X平台.)

它在Win32/Win64上工作正常,但我现在不知道为什么它不显示OS X上的Savedialog过滤器(VirtualBox/OS X 10.7.x).

如何让它在OS X上运行?

procedure TForm1.Button_SaveClick(Sender: TObject);
begin
  SaveDialog.Filter:='Format_1 (*.fmt1)|*.fmt1|Format_2 (*.fmt2)|*.fmt2';

  If Savedialog.Execute Then ShowMessage(SaveDialog.FileName+#13+'Selected filterindex: '+Inttostr(SaveDialog.FilterIndex));
end;
Run Code Online (Sandbox Code Playgroud)

delphi macos delphi-xe2 firemonkey

8
推荐指数
1
解决办法
1313
查看次数

如何获取属于某个进程的已打开句柄的数量?

您可以使用Process Explorer程序查看运行应用程序的句柄数.有没有办法用Delphi代码来获取这个数字?我有兴趣跟踪应用程序本身的编号; 不要像Process Explorer那样找到其他应用程序使用的句柄数.

我的目的是让应用程序跟踪/检测可能的资源泄漏.

windows delphi winapi handle window-handles

7
推荐指数
1
解决办法
3729
查看次数

如何运行批处理文件保持控制台窗口隐藏?

我想在安装完成后启动我成功安装的Java程序.我原则上知道如何做到这一点:

[Run]
FileName: "{app}\LaunchApp.bat"; Description: {cm:LaunchApp}; Flags: nowait postinstall skipifsilent
Run Code Online (Sandbox Code Playgroud)

LaunchApp.bat:

start javaw -jar  MyJar.jar Main
Run Code Online (Sandbox Code Playgroud)

这样,控制台窗口会弹出一段时间,这不是很好.使用链接,可以避免这种情况.但是,我似乎无法执行[Icon]在该[Run]部分中创建的链接.

有什么建议如何解决这个问题?

inno-setup batch-file

7
推荐指数
1
解决办法
7329
查看次数

如何在Chromium Embedded中禁用查看源选项?

是否可以在Delphi Chromium Embedded中禁用视图源选项?
我没有在属性/方法列表中找到任何合适的东西.

delphi view-source tchromium

7
推荐指数
1
解决办法
3581
查看次数

如何更改现有Windows资源管理器窗口的路径?

我有一个打开的Windows资源管理器窗口的句柄.

如何向其发送命令以便将
示例中的路径更改为:m:\ programs到d:\ programs.


例

直到现在我正在使用,ShellExecute()但它打开了一个新窗口.这不好(用户体验).

delphi winapi windows-shell

7
推荐指数
1
解决办法
872
查看次数

我可以使用.Create(Nil)代替.Create(应用程序)

我有一个具有TComponent变量的单元,我在单元初始化时创建这个组件,如下所示:

var
  XComp: TComponent;
.
.
.
.

initialization
begin
  XCom := TComponent.Create(Application);
end;
Run Code Online (Sandbox Code Playgroud)

我关闭Delphi后安装单元后,它给我一个访问冲突错误消息(EAccessViolation)

但是当我改变我的创造者时如下

initialization
begin
  XCom := TComponent.Create(nil);
end;
Run Code Online (Sandbox Code Playgroud)

一切都很顺利...我想知道区别吗?什么更好?

注意:只有在关闭delphi时才会出现错误(在设计时意味着).

谢谢.

delphi delphi-xe2 tcomponent

7
推荐指数
2
解决办法
1633
查看次数

如何在TCheckBox,TRadioButton,TGroupBox上更改字幕字体颜色?

我不知道我的问题是什么,但我无法在DEx2中为TCheckBox,TRadioButton,TGroubBox和TRadioGroup等控件设置字体颜色.如果我在IDE中或以编程方式执行它并不重要.

我已将表单颜色设置为clBlack,并希望我的标题是clWhite,但它们不会渲染任何颜色,而是clBlack.当我在表单的OnShow事件上分配颜色并在调试器中逐步执行它时,它会显示我分配给它的值,但在屏幕上它仍然是黑色.

我没有使用样式或其他任何东西.有任何想法吗?

这是一个示例表单: 白色黑色示例http://www.skippix.us/temp/Delphi-Font-Problem.bmp

delphi vcl properties colors delphi-xe2

7
推荐指数
1
解决办法
7809
查看次数

可以在Delphi XE中使用"未使用"类

我在Delphi XE,Windows 7中工作.

在应用程序中,我想为我的用户启用不同的报告类型以供选择.为此,我有一个基本报告类和每个报告类型的子类(xml,csv,ppt等).

{Just an illustrating example}
TBaseReport = class
public
  constructor Create;
  procedure GenerateReport; virtual; abstract;
  class function ReportType: string; virtual; abstract;
end;

T*Report = class(TBaseReport);
//Etcetera.
Run Code Online (Sandbox Code Playgroud)

我想要做的是使用Rtti检测所有报告类并列出他们的ReportType.之后,我想使用Rtti创建所选报告类的实例并调用GenerateReport.总而言之,这并不难实现.

但是有一个主要的缺点:我从不硬编码使用降序类,因此代码不会包含在可执行文件中.

有没有一种不错的方法来强制链接器/编译器包含这些类?

一个(丑陋的)解决方法是在初始化部分模拟报告的使用,但我宁愿不这样做.更好的解决方案是使基类持久化并调用'RegisterClass(T*Report);' 在初始化部分.它有效,但我没有看到任何其他需要使它们持久化,所以再次,我宁愿不这样做.另一方面,也许这是唯一的方法吗?

提前致谢.

delphi rtti delphi-xe

7
推荐指数
2
解决办法
417
查看次数

如何使用TIdIMAP4登录Gmail帐户并获取邮箱中的邮件数量?

如何登录Gmail帐户并获取INBOX包含TIdIMAP4组件的邮箱中的邮件数?

delphi imap indy delphi-xe2

7
推荐指数
1
解决办法
5356
查看次数

Delphi 2010表格显示在"错误"的监视器上

我有一个简单的测试应用程序,一个空表单,另一个包含TButton.按钮脚本是这样的: -

procedure TForm1.Button1Click(Sender: TObject);
begin
  Form2.Show();
end;
Run Code Online (Sandbox Code Playgroud)

Form2在启动时自动创建.根本没有其他代码.

当我运行应用程序时,我可以按下按钮然后Form2出现.我可以Form2在主监视器上重新定位/调整大小,然后关闭它.如果我Form1再次按下按钮,Form2则会正确地重新出现在最后一个位置.到目前为止都很好......

但是,如果我Form2放在辅助显示器上,关闭它,然后按下按钮,然后再Form2显示在主监视器上!

我希望表单重新出现在它最后的监视器上 - 我怎么能得到这种行为?

delphi multiple-monitors delphi-2010

7
推荐指数
1
解决办法
997
查看次数