将TPanel组件放入设计器时,似乎无法制作transparent?有一个不透明度选项,但只有动画才有效.我希望面板本身完全透明,所以我可以看到下面的图像.(我想使用面板作为控件布局的一种方式放置在它上面)
如何使用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调试器中使用F7时,它进入系统单元,如System.SysUtils等...我不关心这些单元我只想要自己的代码.如何关闭此功能?我正在使用Delphi XE4 Architect
我正在尝试编写一个显示用户友好消息的异常处理程序.我不知道如何获得导致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"值来格式化我自己的消息.你怎么得到这个价值?
我想知道我是否找到了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) 有一棵树:ROOT - VirtualStringTree(你看不到它,TVirtualStringTree.RootNode)
我可以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
据博士说.鲍勃可以做到.有人可以提供一步一步的示例或一些教程吗?
是否可以使 Delphi TList 不可变?
我在 delphi doc 中搜索了一个类似于 java 中 unmodifiableList 的类,但没有找到任何东西。
问候!
我在使用 TApplication.ModalPopupMode=pmAuto 时遇到问题,我想知道我的问题是否是由我使用 pmAuto 或 delphi 中的错误引起的。
简单用例:
动作顺序:
我使用 ComboBox 作为示例,但我猜想在 DestroyWnd 过程中保存信息并在 CreateWnd 过程中恢复信息的任何控件都无法正常工作。我测试了 TListBox,它也显示相同的行为。
我在15年来使用Delphi的经历中第一次遇到这个奇怪的问题。这是我在项目选项(XE4)中设置的图标:

这是编译后生成的应用程序图标:
我不知道该图标来自何处,也无法更改该图标(这确实使我发疯了)。
直到今天晚些时候,这个项目的图标已经可以使用了一年多。我尝试过的没有运气的事情:
project1.res文件并重新生成。.dproj文件,打开.dpr文件,然后让Delphi IDE创建一个空白的新.dproj文件。没运气。IconCache.db文件损坏,删除了该文件,然后重新启动Windows,无济于事。实际上,我使用Resource Hacker来确认不是Windows资源管理器显示了错误的图标,而是EXE中的图标资源是错误的……太奇怪了。.dproj文件从SVN 恢复到昨天(图标在昨天还可以)的修订,没有运气。您还建议我尝试一下吗?谢谢!
delphi ×10
delphi-xe4 ×10
firemonkey ×2
datasnap ×1
dbgrid ×1
delphi-xe ×1
generics ×1
icons ×1
immutability ×1
ios ×1
resources ×1
system ×1
tlist ×1