草庐IT

delphi-xe8

全部标签

windows - Delphi 在 exe/dll 中添加和使用多个资源文件 *.RES

我对在delphi中使用*.RES文件有疑问。例如我有两个资源文件:1.RES和2.RES。这两个RES文件都包含名为IMAGE1(jpg)的不同图像。我使用这些命令将RES文件添加到Delphi应用程序:{$R'1.RES'}{$R'2.RES'}如何指定要使用的资源文件?如果我只有一个RES文件,当我想检索图像时,我会使用这些命令:varRS:TResourceStream;jpg:TjpegImage;RS:=TResourceStream.Create(HInstance,'IMAGE1',RT_RCDATA);jpg.LoadFromStream(RS);现在,如果我有2个R

windows - 如何从任务栏(XE4)隐藏 firemonkey 应用程序按钮?

根据这个question可以通过将窗口样式更改为WS_EX_TOOLWINDOW来隐藏fmx任务栏图标。在XE2和XE3中,这段代码有效:usesFMX.Platform.Win,Winapi.Windows;procedureTForm1.Button1Click(Sender:TObject);varh:THandle;beginh:=FmxHandleToHWND(Handle);ShowWindow(h,SW_HIDE);SetWindowLong(h,GWL_EXSTYLE,GetWindowLong(h,GWL_EXSTYLE)orWS_EX_TOOLWINDOW);Sho

windows - 如何关闭 Delphi ListView 上的热跟踪?

我在表单上有一个简单的ListView,我想完全关闭热跟踪。HotTracking属性设置为False,但在鼠标光标下的项目上仍然绘制了一个蓝色矩形...德尔福XE3、Windows7 最佳答案 该矩形是资源管理器主题的一部分。资源管理器主题是可选的,ListView类选择使用它并通过调用SetWindowTheme将其强加到它的CreateWnd中。您可以通过调用SetWindowTheme撤消更改来覆盖该行为。使用插入器类的示例:usesVcl.ComCtrls,Winapi.UxTheme;typeTListView=clas

windows - Delphi - 托盘图标中的文本

我正在尝试编写一个应用程序来放置当前温度(从在线资源中获取)并在系统托盘/通知(适用于Windows7+)的应用程序图标中显示温度(作为文本)。我正在使用DelphiTTrayIcon组件,但我不知道如何在图标区域显示文本。我过去有其他应用程序可以执行此操作,所以它一定是可能的。 最佳答案 通知图标就是这样。图标。他们无法显示您提供给他们的文本。因此,为了实现您的目标,您需要动态创建一个包含文本的图标并将其作为通知图标提供。请注意,通知图标是一个小图标,其大小由SM_CXSMICON给出。系统指标。

windows - 如何从 Oracle 11g XE 导出 'database' 并将其导入到 Oracle 10.2?

到目前为止,我还没有对Oracle数据库做过任何严肃的事情。我知道它们与我处理过的不同,例如MSSQL。因此,从MSSQL的角度来看,我可以备份数据库,将.bak文件复制到另一台服务器,还原它,创建数据库的完整副本。我不确定如何为Oracle做同样的事情,更不用说不同的版本了。我已经看到它主要是通过命令行完成的,所以我尝试了这个:$expowner/ownerschemas=tkcsdbdirectory=dumpdirdumpfile=dBaseNamelogfile=dBaseLog然后SQLPlus返回:UnknownParameterName'Schemas'.Failedto

windows - 如何使用 Delphi 2010 以编程方式确定 Windows 的性能设置

以下代码是在关闭时淡化我的应用程序。procedureTfrmMain.btnClose1Click(Sender:TObject);vari:Integer;beginfori:=255downto0dobeginfrmMain.AlphaBlendValue:=i;application.ProcessMessages;end;Close;end;Windows性能设置为“让Windows选择...”当用上面的代码关闭我的Delphi应用程序时,淡入淡出几乎瞬时(最多¼秒,如果我眨眼,我会错过过渡)。如果我将性能选项设置为“调整以获得最佳性能”退出同一个应用程序时,淡入淡出需要超过

windows - 在 Delphi 下终止应用程序时线程未终止

假设我有一个线程在应用程序终止时仍在运行(此线程无法终止,因为它等待Windowsapi调用返回这可能会很长......)如果应用程序关闭,线程会发生什么情况?它能引发异常吗(我在Delphi下)? 最佳答案 我会说异常(exception)是非常合理的。当您调用Application.Terminate时,这将导致以下事件序列:调用PostQuitMessage。Application.Terminated被设置为True。Application.Run返回。System.Halt被调用。运行退出过程,特别是DoneApplica

windows - 如何使用 Delphi 检查字符串是否是有效的 Windows 文件夹名称?

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:HowcanIsanitizeastringforuseasafilename?我需要根据用户的文本创建一个文件夹(unicode字符串类型)。windows下文件夹名有些字符是非法的。您知道检查文件夹名称是否有效的Delphi函数吗?还是最好的,将字符串转换为有效的文件夹名称(去除或转换无效字符)?感谢您的帮助!编辑:请参阅下面关于非法关键字的注释。

windows - 什么会导致 C++Builder/Delphi 线程和应用程序无法关闭?

有一次,在测试期间,我的C++Builder/Delphi应用程序在后台工作线程中引发了一个未捕获的异常。EurekaLog如我所料,捕获了异常并发送了错误报告,一切似乎都正常。但是,当我关闭应用程序的主窗口时,某些东西仍在后台运行,因为该应用程序仍在任务管理器中列出(并且仍然有打开的资源)。我试图通过故意在后台工作线程中引入各种错误来重现这个问题,但我做不到。什么会导致线程和应用程序像这样继续运行,即使在主窗口关闭后(并且可能已调用PostQuitMessage)?如何确保应用程序始终正常关闭? 最佳答案 第一条规则是线程的主执行

linux - Delphi/windows 和 Linux/Lazarus 共享字符以上#127

我正在维护一个项目,其中数据必须在Windows和Linux机器之间共享。该程序于2003年在DELPHI(Windows)中开发-因此有很多遗留数据文件必须(至少可能)在未来由两个系统读取。我已经将程序移植到Lazarus,它在Linux上运行得很好。但是数据(以专有格式)将字符串存储为#0-#255中的通用ascii字符。在Linux机器上读取数据会导致出现大量“?”符号,而不是“ñ,äöüß...”等。我试图解决的问题:1.)我像往常一样在Windows机器上读取数据。2.)我用修改后的版本保存了数据,它将使用URLEncode()对所有字符串进行编码在节省。3.)我还修改了使用