标签: delphi-xe4

如何设置TPanel透明?

TPanel组件放入设计器时,似乎无法制作transparent?有一个不透明度选项,但只有动画才有效.我希望面板本身完全透明,所以我可以看到下面的图像.(我想使用面板作为控件布局的一种方式放置在它上面)

delphi ios firemonkey delphi-xe4

5
推荐指数
1
解决办法
2119
查看次数

如何在Firemonkey FM3中获得屏幕尺寸?

如何使用FiremonkeyFM³获得屏幕尺寸?以下代码:

var
  Size: TPointF;
begin
  Size := FMX.Platform.IFMXScreenService.GetScreenSize;
  ...
end;
Run Code Online (Sandbox Code Playgroud)

导致此编译器错误:

[dcc32 Error] Unit1.pas(46): E2018 Record, object or class type required
Run Code Online (Sandbox Code Playgroud)

我该如何使用IFMXScreenService界面来获取屏幕尺寸?

delphi firemonkey delphi-xe4 firemonkey-fm3

5
推荐指数
2
解决办法
8427
查看次数

如何阻止调试器进入delphi给定单元

我的问题是,当我尝试在我的delphi调试器中使用F7时,它进入系统单元,如System.SysUtils等...我不关心这些单元我只想要自己的代码.如何关闭此功能?我正在使用Delphi XE4 Architect

delphi system delphi-xe4

4
推荐指数
1
解决办法
1663
查看次数

如何获取导致TDBGridInplaceEdit错误的值?

我正在尝试编写一个显示用户友好消息的异常处理程序.我不知道如何获得导致TDBGridInplaceEdit错误的" 新输入 "数据值.

例如:
我有一个DBGrid加载数据.当我故意将第1行的PartNo字段更改为非数字值以导致TDBGridInplaceEdit错误...(从:1313.3到:1313..3)...我捕获错误并显示消息,但我可以'弄清楚如何获得糟糕的'1313..3'值.

在此输入图像描述
原文PartNo:1313.3

在此输入图像描述
改变PartNo:1313..3(小数点后两位)

在此输入图像描述
应用程序onException中显示的错误消息

procedure TMain.ApplicationEvents1Exception(Sender: TObject; E: Exception);
var
  str : string;
begin
  str := sender.ToString;
  str := str + #10;
  str := str + RzDBGrid2.SelectedField.FieldName;
  str := str + #10;
  str := str + VarToStr(RzDBGrid2.SelectedField.Value);
  str := str + #10;
  str := str + e.Message;
  showmessage(str);
  //Application.ShowException(E);
end;
Run Code Online (Sandbox Code Playgroud)

我想使用输入的错误"1313..3"值来格式化我自己的消息.你怎么得到这个价值?

delphi exception-handling in-place-edit dbgrid delphi-xe4

4
推荐指数
1
解决办法
969
查看次数

Delphi Pascal XE4编译器错误?

我想知道我是否找到了Embarcadero编译器错误...

问题看起来与泛型有关.

这是我的源代码

unit u_DateCount;

interface

uses
  SysUtils,
  u_JavaScriptable
  ;

type
  TDateCount = class (TJavaScriptable)
    strict private
    public
      NoOfSamples : Integer;
      TheDate : TDate;
      function ToString():String; override;
  end;

implementation

function TDateCount.ToString():String;
var
    myYear, myMonth, myDay : Word;
begin
    DecodeDate(TheDate, myYear, myMonth, myDay);
    Result := Format('[new Date(%d, %d ,0), %d]', [myYear, myMonth, NoOfSamples]);
end;

end.
Run Code Online (Sandbox Code Playgroud)
unit u_Javascriptable;

interface

type
  TJavaScriptable = class
    strict private
    public
      function ToString:String; override;
  end;

implementation

function TJavaScriptable.ToString:String;
begin
    Result := '';
end;

end.
Run Code Online (Sandbox Code Playgroud)
unit u_LineChart;

interface …
Run Code Online (Sandbox Code Playgroud)

delphi generics delphi-xe4

4
推荐指数
1
解决办法
463
查看次数

VitrtualStringTree.如何Drag'n'Drop到ROOT水平?

有一棵树:ROOT - VirtualStringTree(你看不到它,TVirtualStringTree.RootNode)

  • 我的根节点1
  • 我的根节点2
    • 第二节点1
    • 第二节点2
    • 第二节点3
  • 我的根节点3

我可以Drag'n'Drop"我的根节点3"到任何可见节点,但我不能将它返回到defaut位置,到树的根级别.

我试着这样:

//Part of code from OnDragDrop Event of VirtualStringTree
    if (Sender.DropTargetNode = Sender.RootNode) then
    begin
      for i := 0 to high(Nodes) do
      begin
        LinksTree.MoveTo(Nodes[i], Sender.DropTargetNode, Attachmode, False);
      end;
    end;
Run Code Online (Sandbox Code Playgroud)

我把鼠标放到了无处,但没有任何反应.在DragOver中,如果DropTarget是VST.RootNode,则接受drop to root.

谁知道,如果我将鼠标拖动到组件的空白区域,如何将节点删除到VST.RootNode?

delphi virtualtreeview delphi-xe tvirtualstringtree delphi-xe4

4
推荐指数
1
解决办法
485
查看次数

如何将MIDAS.DLL嵌入客户端可执行文件中

据博士说.鲍勃可以做到.有人可以提供一步一步的示例或一些教程吗?

delphi datasnap delphi-xe4

4
推荐指数
1
解决办法
3289
查看次数

使 Delphi TList 不可变

是否可以使 Delphi TList 不可变?
我在 delphi doc 中搜索了一个类似于 java 中 unmodifiableList 的类,但没有找到任何东西。

问候!

delphi immutability tlist delphi-xe4

4
推荐指数
2
解决办法
567
查看次数

pmAuto ModalPopupMode 正确使用或错误解决方法

我在使用 TApplication.ModalPopupMode=pmAuto 时遇到问题,我想知道我的问题是否是由我使用 pmAuto 或 delphi 中的错误引起的。

简单用例:

  • Form1(MainForm) 和 Form3 是永久表单。(在 dpr 中创建)
  • Form2 在需要时创建并在之后释放。
  • Form3 包含一个带有 X 个项目的 TComboBox。

动作顺序:

  • Form1 创建并显示 Form2 模式。
  • Form2 显示 form3 模态。
  • 关闭Form3
  • 关闭并免费Form2
  • 显示 Form3 <---- TComboBox 现在包含 0 个项目。

我使用 ComboBox 作为示例,但我猜想在 DestroyWnd 过程中保存信息并在 CreateWnd 过程中恢复信息的任何控件都无法正常工作。我测试了 TListBox,它也显示相同的行为。

  • 当 ModalPopupMode 为 pmAuto 时,不应该混合永久形式和临时形式,这是一个已知的事实吗?
  • 如果没有,是否有任何已知的解决方法可以解决此问题?
  • 如果这是一个错误,最新版本的 Delphi 是否已修复?(我用的是XE4)

delphi delphi-xe4

4
推荐指数
1
解决办法
1045
查看次数

Delphi-编译的EXE的图标错误,无法更改

我在15年来使用Delphi的经历中第一次遇到这个奇怪的问题。这是我在项目选项(XE4)中设置的图标: 在此处输入图片说明

这是编译后生成的应用程序图标:

在此处输入图片说明

我不知道该图标来自何处,也无法更改该图标(这确实使我发疯了)。

直到今天晚些时候,这个项目的图标已经可以使用了一年多。我尝试过的没有运气的事情:

  • 使用“加载图标...”按钮将其更改为另一个完全不同的图标,然后重新构建。
  • 使用“默认”按钮重置为默认图标并重新构建。
  • 删除project1.res文件并重新生成。
  • 删除.dproj文件,打开.dpr文件,然后让Delphi IDE创建一个空白的新.dproj文件。没运气。
  • 我以为是Windows 7的IconCache.db文件损坏,删除了该文件,然后重新启动Windows,无济于事。实际上,我使用Resource Hacker来确认不是Windows资源管理器显示了错误的图标,而是EXE中的图标资源是错误的……太奇怪了。
  • .dproj文件从SVN 恢复到昨天(图标在昨天还可以)的修订,没有运气。

您还建议我尝试一下吗?谢谢!

delphi resources icons delphi-xe4

4
推荐指数
1
解决办法
200
查看次数