我在2008年初搬到了Delphi 2007.我花了很长时间来迁移我的所有工具和组件,而且我并不急于再次这样做.我从德尔福6号搬了.(买了D2006,但由于迁移问题,没有多大用处).
虽然MSDN/F1帮助"集成",但仍然会让我疯狂.我根据需要访问D6帮助文件和各个供应商帮助文件,但它肯定不如旧的put-your-cursor-on-a-method有用,单击F1 - >你得到一些有用的东西帮助方法,尤其是集成了所有供应商文件.
看来我可能很晚才参加聚会,但显然我并不孤单:http: //blogs.embarcadero.com/deeelling/2007/08/21/38290
我现在看到Embarcadero允许你为Delphi 2007下载CHM文件.他们是否可以完全整合它们,并完全摆脱那些无用的MSDN怪物?
Windows升级顾问告诉我在Windows 7上运行Delphi 2010时存在"已知"问题,但我找不到它们,是否有人知道是否存在,或者它们是否已经修复过?
我在字符串列表中有类名.例如,它可能是'TPlanEvent','TParcel','TCountry'等.
现在我想通过循环列表找出大小.
它的作用是:
Size := TCountry.InstanceSize;
Run Code Online (Sandbox Code Playgroud)
但我希望这样:
for i := 0 to ClassList.Count - 1 do
Size := StringToClass(ClassList[i]).InstanceSize;
Run Code Online (Sandbox Code Playgroud)
显然我的问题是编写什么而不是StringToClass方法来将字符串转换为类.
是否可以编写一个以任何序数类型作为参数的方法?Inc()或High()的作用方式相同吗?
我正在使用Delphi 2007
我在Delphi的IDE专家工作,我需要通过枚举在Delphi IDE,显示目前我使用的所有形式的Screen.Forms财产,但如果存在另一种方式来做到这一点使用OTA我想知道.因为Screen.Forms当我的专家是BPL时使用唯一的作品,但现在我正在迁移到dll专家.
我正在使用Delphi 2007.
我需要编写一个FormatDateTime函数,它始终将01/01 /返回到TDateEdit框(DevExpress组件)作为EditValue.
我已经尝试过......
tcxDateEdit1.EditValue := FormatDateTime('01/01/'+ 'yyyy',now);
Run Code Online (Sandbox Code Playgroud)
和
tcxDateEdit1.EditValue := FormatDateTime('01/01/yyyy',Now);
Run Code Online (Sandbox Code Playgroud)
但他们都没有工作.它导致将string类型的变量转换为double的错误."无法将类型(String)的变体转换为类型(Double)"
我们目前正在使用D2007,但正在考虑升级到XE2.我可以想到两个"更大"的问题 - 从2007年到2009年的Unicode步骤以及从XE到XE2的整个平台(32/64位,带指针大小的VCL/Firemonkey,单位命名空间等等).
如果我们购买XE2,AFAIK我们也会得到D2009,D2010和XE,所以我的想法是通过两个步骤来解决升级问题:
首先处理Unicode.我想最好的方法是升级到XE:我们会有工作的泛型等,但与2007-> 2009升级相比没有其他问题.
如果步骤1完成并且已经证明它适用于我们的客户,请执行XE-> XE2.
你怎么看?我们应该一步完成整个升级吗?或两个步骤,但具有不同的中间版本?
编辑:我知道XE2并没有强迫我们跨平台(FireMonkey可能永远不会是我们的选择).我只是想避免相关问题,如"mrAll,mrNoToAll,mrYesToAll和mrClose的XE2值",同时解决任何与Unicode相关的问题.如果我们在转换期间让我们的单元兼容D2007和XE2,那么单位命名空间听起来是一个很大的障碍(或者这是个坏主意吗?).
我认为C++支持以下内容:
Object objects[100];
Run Code Online (Sandbox Code Playgroud)
这会实例化100个对象,对吧?是否有可能在Delphi(特别是2007年)中做到这一点?除了以下之外的东西:
for i:=0 to 99 do
currentObject = TObject.Create;
Run Code Online (Sandbox Code Playgroud)
或者使用Allocate函数,传递的大小值是大小的一百倍TObject,因为它只是分配内存,它实际上并没有划分内存并将它"赋予"对象.如果我假设c ++实例化是即时的而不是根据引擎迭代,我道歉.
我有一个非常简单的应用程序,用于在Windows 7上运行的Delphi 2007中播放我的音乐集.我向Windows Media Player发出外壳以避免Delphi Media Player组件拒绝播放我抛出的一些曲目在它.我现在想从应用程序中控制扬声器的音量.
此时我说"扬声器音量"而不是"WMP音量",因为我认为控制WMP的音量比控制所有应用的整体扬声器/主音量要困难.
我确信这在过去非常简单,但操作系统变得更加复杂,我发现并尝试的所有代码片段都不适用于控制扬声器的主/核心卷.
是否可以从运行在Windows 7上的Delphi 2007中控制此主卷?
如果是,那么我可以非常感谢像GetVolume和SetVolume这样的一些函数来完成这样一个基本任务.
我看过过去问过的类似问题,我不抱希望.
布鲁斯.
如 Delphi 2007 x Windows 10 - 打开项目时出错 我正在查找由 Windows 更新删除的以下文件中所述
c:\windows\Microsoft.NET\Framework\v2.0.50727\Borland.Common.Targets
c:\windows\Microsoft.NET\Framework\v2.0.50727\Borland.Cpp.Targets
c:\windows\Microsoft.NET\Framework\v2.0.50727\Borland.Delphi.Targets
c:\windows\Microsoft.NET\Framework\v2.0.50727\Borland.Group.Targets
Run Code Online (Sandbox Code Playgroud)
Windows.old 文件夹早已消失,我在 ProgramData 文件夹中找不到这些文件。有人可以上传并分享吗?
谢谢你,法比奥
delphi ×10
delphi-2007 ×10
date ×1
delphi-2010 ×1
delphi-xe2 ×1
ide ×1
ordinal ×1
parameters ×1
toolsapi ×1
types ×1
upgrade ×1
volume ×1
windows-7 ×1