delphi-xe2专题提供delphi-xe2的最新资讯内容,帮你更好的了解delphi-xe2。
我将传统的Delphi应用程序迁移到Delphi-XE2,我想知道是否有一个很好的理由将定义为MyType的数组的数组替换为TArray< MyType>。所以问题是TArray< T>的利弊是什么?使用而不是MyType的数组? 主要优点是较少繁重的身份规则。考虑: a: array of Integer; b: array of Integer; 这两个变量不是分配兼容的。写一个编译错误是:
使用Delphi(或者一般来说,任何工具,如果存在的话),是否可以减少exe文件的大小,删除所有不使用但是存在的代码? (例如,存在但从未被调用的函数或过程)。 我记得使用Pascal,使用单元(没有对象),编译器只包含真正使用的过程和函数,并将从最终的exe中删除单元中的未使用的例程。 使用Object-pascal,我记得在Delphi 1中,一个对象的所有成员都包含在exe中; 有什么改变,
我在Delphi XE2中使用新的VCL风格系统。它的功能非常好,但我希望禁用它的一个特定的形式,其上有一些图像(一个飞溅/关于表单)。问题是,我似乎找不到将其与特定样式相关联的窗体的属性,因此无法禁用该窗体。只有似乎是全局TStyleManager类似乎是静态的。 考虑到这一点,实现这一点的唯一方法是调用TStyleManager.TrySetStyle(‘Windows’),显示窗体,然后在窗
当我使用格式化源选项时,如何配置RAD Studio IDE格式化我的代码与开始在同一行或下一行? 最受争议的偏好之一是开始的位置 – 在同一行或自己的一行。 Delphi XE2中如何设置Delphi格式化源码?这是指当你去编辑>格式来源 我正在回答这个问题Q& A风格。 >转到工具>选项 >在左侧的树中查找格式化器部分 >在该节点内,选择Delphi>断线 >找到右侧标有插入换行符的开始和单个
Firemonkey使我们能够向我们的应用程序添加样式,矢量图形,位图,效果,动画等。但我不是设计师,所以我需要雇佣一个做这个花哨的工作。但是据我所知,所有的设计工作都是在IDE中完成的。 有没有一个简单的方法让设计师能够在一个项目上工作,而不需要有一个Delphi XE2的副本和我的源代码的完整副本? (是的,他们可以编辑.style文件,但不完全可视或方便)。 看起来好像目前只有Delphi
在以前的Delphi版本中,我已经使用数据模块(TDataModule)作为一个地方来保持非可视化组件,以避免混乱主窗体。在Delphi XE2中,当我创建一个新的数据模块时,它只允许我在数据库中放置数据库相关的组件(如TADOConnection和TDataSource)。为什么会这样,我该怎么把其他组件放在其中?有办法吗 数据模块随XE2版本而改变。记住,XE2除了长期存在的VCL之外,还引入
我正在使用一个批处理文件来调用MSBuild来构建我的项目。出现问题,因为现在进入XE2并选择File |新| VCL表单应用程序并单击“构建”(或运行)我收到以下立即错误: Checking project dependencies... Compiling Project5.dproj (Debug, Win32) brcc32 command line for "Project5.vrc"
在Delphi XE2中,我有一个控制在一对设计/运行时间包。最初,一切都正常。我已经建立了每一个。突然没有警告,设计时间包开始抱怨我的一个单位,图形单元缺失时,我建立。图形是一个标准单位,但从这个地方找不到。我甚至没有对这个单位做出任何改变,据我所知,任何可能影响到这一点的变化。 这里只是本机顶部(接口)的用途: uses Graphics, ColorConv, Classes, Dial
在几乎所有的项目中,我都使用过这个场景,当我进行一些数据转换时,对于布尔值来说,简单来说,我有点失落。下面的这个声明在我的代码中像一个痛苦的拇指: if BoolVal then StrVal:= 'True' else StrVal:= 'False'; 我想知道是否有更简单的方法来执行此评估?也许一些使用Case语句我不知道?我的实际实现比StrVal更复杂,但它的确包括返回两个不同的
我知道这是一个坏主意的所有原因。如果一个应用程序窃取输入焦点,我不喜欢,但这是纯粹的个人使用,我想要它发生;它不会打扰任何东西。 (为了好奇:我在NetBeans中运行单元测试,它会生成一个日志文件。当我的后台应用程序看到日志文件的时间戳更改时,我希望它解析日志文件并显示结果)。 This question没有帮助,也没有谷歌搜索。看来BringToFront()没有工作很长时间,我找不到任何替代
我希望如下: TEnumType = ( etValue1 = 1, etValue2 = 2 deprecated, etValue3 = 3); 它返回: [DCC Error] unt_CollectionImportType.pas(19): E2029 ',' or ')' expected but identifier 'deprecated' found. 有没有办法指
我有一个现有的Delphi 2009应用程序。我看到新的XE2版本,我们现在可以构建我们的Delphi应用程序到Windows 32/64和现在的Mac OS X!拇指高达64位,适用于Mac OS X编译… Mac OS X编译器有多好?我们需要做什么来将我们的应用程序编译成Mac OS X?它只能用于VCL组件,还是自动转换第三方组件?现在我们如何处理OS API调用? Mac OSX编译器目
在Delphi XE2 LiveBindings中,我需要将任何类型的VCL控件绑定到任意(非组件)对象上的任何类型的属性。我可以单向做这个。但是我需要双向地做。 假设我想将一个TPerson.PersonName:string绑定到一个TEdit.Text。 现在我现在很简单 >创建一个新的VCL应用程序,添加一个TBindScope,TBindingsList,TEdit。 >创建名为pers
有人有人知道是否有一个Firemonkey版本的流行 VirtualTreeView准备?此外,有人收集了将自定义控件移植到Firemonkey的一些经验,并可以估计将虚拟树视图移植到Firemonkey的工作量有多少?我们需要这个控制,并且切换到Firemonkey只是一个选项,如果我们可以让这个控制工作。 谢谢! 据我所知,FireMonkey与VCL有很大不同,它需要大量重写,从头开始基本上
我想在我的代码中定义一个持有可执行文件构建日期的常量。我当然希望自动化这个过程。 我知道我可以使用例如Perl编写一个预构建脚本来写出包含日期的.inc文件。我更喜欢使用环境变量或构建变量的更轻量级的解决方案。 msbuild是否提供任何有助于帮助的变量?有没有人知道这个问题的更好的解决方案? 您可以从可执行文件的 PE header读取链接器时间戳: uses ImageHlp; func
所以有一段时间,我不断有这个问题: 在Windows 7(64位)上,使用Delphi 7和Delphi XE2,如果从IDE内部编译一个程序,运行它,停止它,更改它并重新运行我收到此错误消息: [致命错误]无法创建输出文件“project1.exe” 我不知道是什么原因造成的。我搜索了更多信息,但我找不到解决方案。 有两种解决方法:等待一两分钟,或手动删除project1.exe。不用说,这是不
如果我尝试调用一个具有记录类型(而不是对象)作为参数的过程,是否可以以某种方式传递参数“inline”的详细信息,而不必首先声明该类型的变量? 例如假设我有这个简单的记录类型: type TMyRecord = record AString: string; AnInt: Integer; end; 和这个程序声明: procedure MyProcedure(Rec: TMyRecord
如何将任何记录类型转换为单个字符串并返回?也许将记录加载到流中并将其作为字符串读取?我正在使用的记录不会包含任何特殊类型 – 它们只是使用简单的东西,如String,Integer,PChar,DWORD和[String]数组等,而不像类或函数. 此字符串将进一步保存到各种位置,例如平面文本文件,数据库记录,通过网络发送等.字符串内容可以通过其他方式之间的其他方式传输,例如从文本文件复制字符串并将
Delphi with 64 bit compilation is now in Beta,但只有受邀的beta测试者才能获得此版本. Beta测试者应该测试什么? Embarcadero可能会为beta测试人员提供测试人员指南.但是,这里有一些想法: >内存分配,对齐,堆和堆栈.使用/ LARGEADDRESSAWARE开关的64位版本Windows上的32-bit could use up t
我有一个应用程序,它使用条件来编译它作为VCL Forms应用程序或Delphi XE2中的Windows服务应用程序.但是,由于我手动更改了项目的主源文件,因此IDE将不再允许我使用标准的“项目选项”窗口进行某些修改.具体来说,我无法选择VCL样式来包含或实现. 因此,我必须手动实现VCL样式.因此,我将两个必要的单元Vcl.Themes和Vcl.Styles添加到我的项目的初始化单元(在这种情