delphi-2010专题提供delphi-2010的最新资讯内容,帮你更好的了解delphi-2010。
看这个代码: dic:=TObjectDictionary<Integer, TObject>.Create([doOwnsValues]); testObject:=TObject.Create; dic.AddOrSetValue(1,testObject); dic.AddOrSetValue(1,testObject); 代码 >创建拥有包含值的Dictionary >添加一个值 >使用相
我是Indy的新人,我想用它构建一个简单的代理服务器.这是一个相当大的图书馆,我只是不知道从哪里开始.当客户端连接到服务器时,OnExucute启动并接收客户端连接作为参数(AContext.Connection). 我想做以下事情: [client connection] := AContext.Connection read host/port from [client connection]
众所周知,当我们调用类的构造函数时: instance := TSomeClass.Create; Delphi编译器实际上做了以下事情: >调用静态NewInstance方法 分配内存并初始化 内存布局. >调用构造方法 执行类的初始化 >调用AfterConstruction方法 这很简单易懂.但是我不太清楚编译器如何在第二和第三步中处理异常. 在D2010中,似乎没有明确的方法来创建使用RT
Delphi 2010,Win32 VCL.我需要用最标准的外观为我的应用程序创建一个主菜单. TMainMenu在所有 Windows版本中看起来不错,唯一不好的是当它显示Enabled = False的项目的图像时. Delphi有一些奇怪的方法来构建禁用的图像(b / w挤出与斜面,因为我看起来像spew).我想在VCL源中为该过程制作一个补丁,并让菜单从同一个TImageList中选择禁用
我用Devexpress打破了我的软件,我发现标签是不透明的,因为它们有灰色的背景. 只有无休止的形式,所以我想知道是否有一种方法来做这个任务(将标签设置为透明)自动. 我以前做过类似的事情,表单上的Devexpress控件有LookAndFeel.NativeStyle = True,我使用Grep Search将其替换为所有dfm表单上的False.然而,在标签的情况下,透明属性不存在. 谢谢
Delphi 2010的TSpeedButtons似乎并没有真正地支持PNG透明度,因为Glyph属性在内部使用了一个TBitmap,而TBitmap是用于位图,并且不能正确支持PNG透明度,而TSpeedButton.Glyph不能支持透明度.但是实际的问题是,我有一些外部的东西(Developer Express组件),即渲染delphi的PNG支持不起作用,另一方面,T Image,虽然它仍
我已经制作了一个TForm衍生物,它像组合,提示窗口或弹出菜单的下拉部分 – 一个暂时的东西.它没有标题 – 其BorderStyle设置为bsNone.表单以非模态方式显示,使用Show设置其位置. 为了使其脱颖而出,它需要在其边框周围的阴影.然而,将边界设置为bsNone的结果是,阴影消失. 各种Google来源提供了以下变体: procedure TdlgEditServiceTask.Cr
我需要向Delphi应用程序添加TWAIN扫描,并且无法找到现成的组件来执行此操作. 我下载了TDelphiTwain,但是当在Windows Vista上使用D2010时,它似乎并没有识别出我的系统上的任何Twain源.我也尝试了从MCM的Delphi Toolkit for Delphi的试用版,它具有当前更新的优点(DelphiTwain的最后一次更新是2004),但是Twain Toolk
我再次写一个外部调试器可视化器,并且正在跑到墙上.调试器可视化程序可以返回的字符串的大小似乎有限制. Delphi 2010附带的TStrings调试器可视化器的限制为4K.在对Embarcadero新闻组发布的一个问题的回应中,Ewe Schuster replied表示:“您可以增加一些缓冲区,但是AFAIR的实际限制是在IOTAThread.Evaluate中限制了大约12k个字符.” 我的
作为测试,我决定在Delphi中使用Delphi 4,5,6,7,2005,2010和XE3创建一个简单的“Hello world”应用程序.该应用程序只不过是一个TForm,一个带有OnClick事件的TButton,它调用ShowMessage(‘Hello world’). 以下是关闭每个最终EXE的结果: 有人可以解释为什么XE3版本比以前版本的Delphi平均大26倍? 这是XE3的项目
有没有任何内置或外部工具(向导)轻松地添加类成员(已发布的字段)与getter / setters? 添加每个字段需要我写很多代码.我们假设我需要添加Foo:Bar;属性. 我需要写 FFoo: TBar; procedure SetFoo(const AValue: TBar); function GetFoo: TBar; ... property Foo: TBar read GetFo
我们想做的是在同一台机器上安装多个Delphi版本,这些版本是D7,D2010和DXE. 我们之前曾经有D7和D2010,一起工作(由于各种版本的特殊条件,不得不复制D7和D2010的组件),但是我并不确定XE,所以这个问题. 当然,我们可以试验,但这意味着浪费了不少时间,所以如果有人已经做过类似的设置或者积极地拥有,可以分享一下你的经验吗? EDIT1: D7-D2010安装按时间顺序排列: >
我最近从D2010迁移到DXE2,在类别中的TBytes字段的RTTI生成相关的XE2和XE3(在我的朋友XE3中测试)发现了一个showstopper错误(或者特征?). 我发现一个类中的TBytes变量的RTTI信息从不生成. 以下代码在D2010中运行良好,但在XE2 / XE3中显示消息“Error” 有人有任何线索吗?这将彻底打破我们所有的软件数据序列化实现 要测试代码,请将Rtti单元
考虑到这样一个枚举: type TTypeOfData = ( [XmlName('ABC')] todABC, [XmlName('DEF')] todDEF, [XmlName('GHI')] todGHI ); 其中XmlName是用于定义此枚举成员的序列化字符串的自定义属性. 如何探索这个枚举的每个成员附加的属性? 与枚举中的元素相关联的属性当前不存储在
我有Delphi 2007代码看起来像这样: procedure WriteString(Stream: TFileStream; var SourceBuffer: PChar; s: string); begin StrPCopy(SourceBuffer,s); Stream.Write(SourceBuffer[0], StrLen(SourceBuffer)); end; 我这样
我试图保护包含敏感信息的本地数据库(类似于 this question,仅适用于delphi 2010) 我使用的是DISQLite component,它支持AES加密,但是我仍然需要保护我用来解密的密码.读数据库. 我最初的想法是生成一个随机密码,使用类似DPAPI(CryptProtectData和CryptUnprotectData函数在Crypt32.dll中找到)中存储它,但是我找不到
当FreeOnTerminate = True时,为TThread后代编写Delphi DUnit测试的最佳方式是什么? TThread后代返回一个需要测试的引用,但是我无法弄清楚如何等待线程在测试中完成… unit uThreadTests; interface uses Classes, TestFramework; type TMyThread = class(TThread
这是在设计时关闭我的应用程序的一半时间,我已经在我的表单上放置了一个TLMDHiTimer,Enabled设置为true. 在我的OnFormClose事件中,我调用MyLMDHiTimer.Enabled:= false.当这个被调用时,我有时(大约一半的时间)得到这个例外. 我调试并进入调用,发现它是LMDTimer.pas中的行246,给出了这个错误. FThread.Terminate;
有没有像PosEx这样的Delphi D2010函数,从字符串末尾开始在字符串中找到一个子字符串? 我正在删除对FastStrings库的所有调用,我使用的其中一个函数是FastPosBack: function FastPosBack(const aSourceString, aFindString : AnsiString; const aSourceLen, aFindLen, StartP
我收到编译器警告,我不明白: procedure Test; var Var1: Integer; begin while True do begin try if System.Random > 0.5 then begin ShowMessage('Skipping');