Delphi

通过RTTI调用受保护的方法(构造函数)

使用XE-2。 可以使用RTTI调用受保护的方法(构造函数)吗? 我在网上搜索,但没有找到任何确凿的答案。我明白,在XE之前,只有发布的方法/属性才可用。我确实有对私有字段的写入权限,所以我期望能够调用受保护的方法。 只要构造函数为public,以下代码就可以工作。 p> 函数GetDefaultConstructor(aRttiType:TRttiType):TRttiM ..
发布时间:2017-04-28 21:25:28 Delphi

一种简单的方式来显示TTabSheet选项卡上的活动

基本上,我想要一个活动指示器,一目了然地显示该选项卡上正在进行的活动计算。我正在寻找一个非常简单的东西,就像在标签上显示一个gif,或者显示一个用定时器改变的字符串序列。我不想要一个复杂的解决方案或需要新组件的解决方案。 我已经有一个实现,但我有一个问题,我是要求一个更具体的解决方案到这里:如何在日语中显示反斜杠区域设置 如果没有解决其他问题,或者有一个更好的方法来做到这一点,我问更一 ..
发布时间:2017-04-28 21:25:04 Delphi

MainFormOnTaskbar +工具提示导致焦点窃取

我使用Delphi XE2构建了下面的代码。它创建Form1,Form1立即创建Form2的实例。当我按下Form2上的按钮时,创建一个Form2。 现在,如果我将鼠标悬停在第二个,最上面的Form2上的按钮上,然后等待工具提示出现在工具提示出现的那一刻,第一个 Form2来到前面,窃取焦点。 仅当 Application.MainFormOnTaskbar 是 True 。它还依赖于 ..
发布时间:2017-04-28 21:24:49 Delphi

“1408F10B:SSL例程:SSL3_GET_RECORD:错误版本号码呼叫:”在印度

我有一个网络应用程序,经常对Google Analytics(分析)API( TIdHTTP 呼叫。经常调用API失败,并且主题行中的错误消息(通常不超过1000次)。我从来没有找到一种模式来实现。并且重试失败的通话通常工作。所以看起来完全是随机的。 我有最新版本的openssl(1.0.2.1 - 03/20/2015)。和最新版本的Indy(源代码文件日期为01/07/2015)。 ..
发布时间:2017-04-28 21:24:36 Delphi

TPanel在包含TPanel时不会使用AutoSize

我有另一个面板: 内部面板对齐 alTop : 外面板设置为 AutoSize = true : 尺寸。如果我在设计时更改内部面板的高度,则外部面板自动调整大小以适应它: 现在运行时 现在我需要在运行时更改内部面板的高度: procedure TForm2.Button1Click(Sender:TObject); begin pnlInner.Hei ..
发布时间:2017-04-28 21:24:24 Delphi

如何强制Delphi 7加载整个可执行文件?

这几乎是一个克隆的同样的问题为Delphi 2006 ,但我想要一个解决方案为Delphi 7.我也得到外部异常C0000006。可以使一个 Delphi 7 加载内存中的所有可执行文件。 解决方案 需要为您正在使用的任何构建自动化添加一个后置操作。找到一个修改可执行文件的PE标志的外部工具,并从构建脚本中调用该标志。显然,这必须在可执行文件构建完成后才能执行。 我建议使用 edit ..
发布时间:2017-04-28 21:23:48 Delphi

“双数组”之间的区别和TDoubleDynArray

System.Types 单位声明数组类型: TDoubleDynArray = Double的数组; 如果我声明一个方法: 程序func(x:TDoubleDynArray) 我注意到参数 x 的行为就像一个 var 参数,即我可以更改 x 在方法中,我会看到方法之外的变化。 但是当我使用 procedure func(x:a ..
发布时间:2017-04-28 21:23:05 Delphi

如何让我的安装程序应用程序在Windows上正常运行?

我在Delphi中做了一个简单的安装程序,没什么好奇的。基本上我将文件包含到Exe中,然后将其解压缩到用户指定的路径。 然而,我偶然遇到一个问题,我注意到这与任何Windows可执行文件如果安装程序是安装程序,则无关紧要。 如果Exe被命名,或者在文件名中包含以下单词,则“安装程序”,“构建” ,“安装”,也可能是其他,然后..每当应用程序运行和关闭,Windows弹出一个产品兼容性助 ..
发布时间:2017-04-28 21:22:46 Delphi

如何从128C条形码中省略前导0?

如果我以12345为例,在“文本”条形码的属性中,输出为012345。 这个“0”是问题。我如何删除这个? 我使用的是Delphi 2010和FastReport 4.9.72。 解决方案 代码128C条形码需要是偶数位数字。这是设计的。 数字和结果输出之间存在1:1映射,输出为2位对齐。在 1 的情况下,该号码的代码128C表示为 01 如果值为 12 则底层代表 ..
发布时间:2017-04-28 21:22:30 Delphi

在其他应用程序窗口中创建按钮

我写下面的代码,在计算器上创建一个额外的按钮,但按钮不显示: var Object1:TButton; 手:THandle; begin 手:= FindWindow('CalcFrame','Calculator'); Object1:= TButton.CreateParented(Hand); Object1.Show; 结束 使用EnumChi ..
发布时间:2017-04-28 21:22:15 Delphi

Delphi运行时代码是否是开源的?

在这个问题中,我调用了Delphi运行时源代码“开源“,只是因为它是开放的。其他人不同意这一点,因为德尔福本身就是一种商业产品。根据维基百科,开源必须符合一套规则。 我已经在Delphi许可证中进行了快速扫描,但找不到有关其许可状态的清晰记录。它在system.pas中有一个名为DECLARE_GPL的编译器指令,它是所有其他Delphi单元的根。自动添加系统单元是您不需要添加到您的单位的唯 ..
发布时间:2017-04-28 21:21:49 Delphi

如何从DLL返回一个实例?

我正在编程一个DLL。我必须返回一个TBitmap的实例到主机应用程序。 DLL有另一个UNIT,它是一个Form,它有一个用于存储图像的TImageList。我写了一个函数,我想从TImageList(从DLL到主机应用程序)返回一个图像,我该怎么做? 谢谢 Yulién。 解决方案 请阅读borland.public.delphi.nativeapi上的旧线程: DLL中的D ..
发布时间:2017-04-28 21:21:37 Delphi

扩展delphi类层次结构

我想知道如何使用附加功能扩展类层次结构,遵循以下条件: 1)我无法触摸原始层次结构 2)我需要将新功能开发到不同的单元中 以 uClasses.pas 单位为例,以下课程层次结构: TBaseClass = class ID:Integer; 名称:String; 结束 TDerivedClass = class(TBaseClass) 年龄:整数 地址:Strin ..
发布时间:2017-04-28 21:21:14 Delphi

如何仅在特定列中使用CheckBox设置TListView?

我使用的是Delphi 2010,我试图允许用户在TListView中的每行两个选项之间进行选择。使用TListView,我可以将样式设置为vsReport并启用复选框,但这只能让我每行1个复选框。我需要的是每行2个复选框...具体为1列,第1列为1,第2列为1。 我要完成的是非常类似于标准Windows文件安全对话框: 有没有人有任何建议来实现这样的使用TListView,甚至Mus ..
发布时间:2017-04-28 21:20:41 Delphi

在Delphi 7中如何将unicode字符转换为ASCII码?

是的,我们在谈论ASCII码。我的appology我不是Delphi开发人员。 解决方案 对于Delphi 7,我会得到 Mike Lischke的免费Unicode库,谁是Virtual Treeview的作者。 libary包含大量的转换功能,可以使用Unicode和Unicode,因此您可以使用在应用程序中最有意义的转换功能。 或者您可以升级到Delphi 2009 ,它 ..
发布时间:2017-04-28 21:19:58 Delphi

如何从32 bpp w / o的TBitmap实例创建一个临时DIB部分的alpha混合图标/游标(间接)?

根据 MS KB条目,在 CreateIconIndirect中有一个怪癖使用 BITMAPV5HEADER 创建可识别 HBITMAP 传递到 CreateDIBSection (和BGRA频道布局)。 但是, TBitmap 具有(PixelFormat = pf32bit)和(AlphaFormat = afDefined) (由于其他目的而表现为alpha混合)当它的句柄被引用时不被 ..
发布时间:2017-04-28 21:19:21 Delphi

TMonitor.Pulse vs TMonitor.PulseAll

Delphi Docwiki解释说, Pulse 通知下一个线程等待队列,一旦调用线程释放对象,它就能够锁定指定的对象。 PulseAll 表示等待队列中的所有线程。 我发现这个在线程队列实现中使用Pulse的代码,并给出上面的定义,认为应该使用PulseAll或者以不同的方式询问:使用Pulse而不是PulseAll是正确的? (其中基本的问题是:我如何确定'队列中的下一个线程'是线程需要 ..
发布时间:2017-04-28 21:18:42 Delphi