delphi-2009相关内容
如何查看我的 delphi 应用程序中当前使用了多少堆栈空间?我遇到了一个非常奇怪的错误,听起来像是堆栈问题.我想将它添加到我的应用程序的日志中,以了解正在使用/剩余的堆栈空间.使用调试器可能不是很好,因为该例程可以被多次调用. 谢谢! 解决方案 {$IFDEF MSWINDOWS}函数 currentStackUsage: NativeUInt;//注意:Win32 使用 FS,W
..
能否告诉我.NET 组件是否可以与 Delphi 2009 一起使用,如果可以,请给我一些示例代码. 提前致谢. 解决方案 在 Delphi for Win32 中没有. 您可以为此使用 Delphi PRISM. 您也可以查看 CrossTalk 或 Hydra
..
我应该使用什么组件在 Delphi 2009 应用程序中显示 PDF 文件? 编辑: 我一直在使用 Synactis 的 PDF 查看器 - 一个非常不错的免费 PDF 查看器但它不支持 Delphi 2009. 所以我需要在产品之外设计它 解决方案 我们在 Delphi 应用程序中嵌入了 Acrobat Reader.查看这篇文章“如何将 Adobe Acrobat
..
我正在构建一个使用插件的程序.不幸的是,插件框架的动态链接迫使 RTL 和 VCL 从我的项目 EXE 中退出并进入 BPL 版本,并且它们没有启用调试信息. 所以我构建了一个静态链接到我的插件的测试框架,这样我就可以在跟踪代码时实际看到我在做什么.但是现在,每次我尝试重新编译时,都会报错:“unit turbu_skills was compiled with a different ve
..
如何使用 Delphi 2009 创建 unicode 控制台应用程序? 如果我这样做: {$APPTYPE CONSOLE}用途系统工具;开始writeln('öüğşç سيمانتت');结尾. 我得到以下信息: ougsc ????????? 解决方案 我不确定你想要的是什么,但你可以使用 Windows API 函数在所有 32 位 Delphi 版本中创建 Unicod
..
当我使用 MSBuild 命令行执行 delphi 2009 项目时,输出总是转到 C: 驱动器 C:\MyProjects>MSbuild "C:\MyTestProject\Test.dproj"/t:Build/p:OutDir="C:\Output\bin\" 为什么会这样? 解决方案 我知道 文档另有说明,但请尝试使用 OutputPath 而不是 OutDir.
..
我查看了 Generics.Collections 并注意到没有链表.当然它们制作起来很简单,但我觉得很奇怪没有一个(或者我只是错过了).与新的现代数据结构相比,链表是否已经过时,或者是否需要通用的通用链表?有人知道吗? 解决方案 你知道 DeHL? 我认为 TLinkedList 来自 DeHL.Collections.LinkedList.pas 单元正是您要寻找的.
..
我们的一些应用程序使用 mailto:、模拟“发送到...",以及 Windows 2000 和 2003 环境中的 SMTP,现在转移到新的 Windows带有 Exchange 2010 和 Outlook 2010 客户端的 2008 系统. 我们有一个用例,应用程序创建一封新邮件,设置收件人和主题,添加一个或多个附件,然后在默认邮件客户端中打开它,以便用户可以在发送前对其进行编辑.
..
在 borland delphi 7 甚至在 delphi 2007 中一切正常,但在 delphi 2009 中它只是返回错误的哈希! 我使用 wcrypt2 脚本 (http://pastebin.com/m2f015cfd) 看看: 字符串:“123456" 哈希: Delphi 7:“e10adc3949ba59abbe56e057f20f883e"——真实哈
..
以下代码在 Delphi 7 中工作正常.但是,在 Delphi 2009 中,表单确实保持隐藏状态,但任务栏上的按钮现在出现了. ShowWindow(Handle, SW_HIDE);SetWindowLong(Handle, GWL_EXSTYLE, GetWindowLong(Handle, GWL_EXSTYLE) 或 WS_EX_TOOLWINDOW );ShowWindow(句柄,
..
假设您有以下内容: //注意我贴的原始例子没有重现问题所以//我创建了一个干净的例子类型IParent = 接口(IInterface)['{85A340FA-D5E5-4F37-ABDD-A75A7B3B494C}']程序做某事;结尾;IChild = 接口(IParent)['{15927C56-8CDA-4122-8ECB-920948027015}']程序 DoSomethingElse
..
遇到一个奇怪的问题:我在运行时创建了一个 TPanele 并更改了它的颜色 - 但是,颜色仍然是 clBtnFace. 代码如下: procedure TForm1.Button1Click(Sender: TObject);无功pnlTest : TPanel;开始pnlTest := TPanel.Create(Form1);pnlTest.Parent := Form1;pnlTes
..
我想将 QC 的修复应用到 Delphi 2009 单元(发生时为 DBClient).我知道我需要将单元复制到另一个目录并对副本进行更改.然后我如何让 Delphi 编译该单元并使用它来支持已经存在的 DCU? 解决方案 如果你不想修改原来的 .Pas 文件,我把 .Pas 文件复制到我的应用程序文件夹中,然后选择构建的项目,它将在我的应用程序文件夹中创建新的 dcu 文件,该文件将用于
..
因为我昨天在 提出的问题可能并不完全清楚,我也没有得到答案我想要,我会尝试以更一般的方式来表述它: 有没有办法基于实例化泛型类型的实际类型使用显式条件语句或使用某种特殊化来实现特殊行为?伪代码: TGenericType = 班级函数 Func : 整数;结尾;...函数 TGenericType .Func : Integer;开始if (T = String) 然后退出 (0);
..
我很困惑.今天在 CodeRage,Marco Cantu 说 CharInSet 很慢,我应该尝试使用 Case 语句.我在我的解析器中这样做,然后用 AQTime 检查加速是什么.我发现 Case 语句要慢得多. 4,894,539 次执行: 虽然不是 CharInSet (P^, [' ', #10,#13, #0]) 做 inc(P); 时间为 0.25 秒. 但执
..
最近我在长时间的停顿后回到 Delphi 并编写了一个相当简单的实用程序应用程序,我的客户要求支持旧版本...... 我知道现在大小无关紧要,但令我感到奇怪的是,一个单元的应用程序在编译时达到 1'084'416 b 个可执行文件.我编写的唯一一个 .pas 单元有 20.8k 大,主要是因为 gui 的丰富性. uses 子句如下: 使用Windows、消息、SysUtils、变体
..
如何使用类引用创建对象的实例,以及确保构造函数被执行? 在这个代码示例中,不会调用 TMyClass 的构造函数: 类型TMyClass = 类(TObject)MyStrings: TStrings;构造函数创建;虚拟的;结尾;构造函数 TMyClass.Create;开始MyStrings := TStringList.Create;结尾;程序测试;无功克拉兹:TClass;实例:TO
..
Delphi 2009 使用构建配置.创建新项目时,您有两个默认构建配置“调试"和“发布". 现在我问自己如何使用 MSBuild(自 2007 版以来由 Delphi 支持)自动构建. 您可以在某些 Delphi 项目目录的“RAD Studio 命令提示符"中启动“msbuild"命令,它将构建默认构建配置(Delphi IDE 中最后激活的构建配置). 现在,我想通过命令行
..
我用 DirectoryExists (const PathName : String); 检查是否可以从计算机访问目录.但是如果目录不存在且路径名是网络路径,即 \\computer1\Data 该方法需要很长时间才能返回. 必须有一种更快的方法来确定网络文件夹不可访问.或者我可以配置 DirectoryExists 在内部使用的一些超时参数(我查看了源代码,但它只是委托给在 ke
..
在开发工具方面,我是一个犹豫不决的升级者.我的大约一半产品仍然使用 D7,其他产品则使用 D2006. 事实是,虽然 Unicode 支持非常受欢迎且非常有用,但它可能给我带来的麻烦多于我当前项目的收益(它们或多或少已经准备好 Unicode).如果每个字符串占用的内存是以前的两倍,那么其中一个的性能会受到很大影响. 那么,除了 Unicode,升级的其他主要动机是什么? 解决方
..