10得票1回答
老版本的Delphi中,记录类型中的“default”关键字是什么意思?

我有一段Delphi Detours库的代码,现在想要进行移植: type TInstruction = record Archi: Byte; { CPUX32 or CPUX64 ! } AddrMode: Byte; { Address Mode } Add...

9得票3回答
如何在Delphi中调用EnumSystemLocales函数?

我正在尝试在Delphi中调用EnumSystemLocales。例如: { Called for each supported locale. } function LocalesCallback(Name: PChar): BOOL; stdcall; begin OutputDe...

12得票2回答
Delphi:如何将接口实现委托给子对象?

我有一个对象,它将特别复杂的接口实现委托给一个子对象。我认为这正是`TAggregatedObject`的工作。这个“子”对象维护着对其“控制器”的弱引用,并将所有的 `QueryInterface` 请求传递回父级。这保持了`IUnknown`始终是相同的对象的规则。 所以,我的父级(即“...

8得票1回答
FastMM无法检测到内存泄漏。

我在我的Delphi5应用程序中使用FastMM 4.97。如果我从IDE运行带有意义泄漏测试的应用程序,则一切正常,我会得到正确的通知和错误日志。然而,如果我在IDE外运行我的应用程序(比如从Windows资源管理器运行.exe文件),则什么都不会发生。我是否遗漏了什么?这种行为是有意的吗?...

7得票3回答
Delphi静态变量

在我的课程中,我需要使用静态变量(在C++中为static int next_id)。 我使用 private class var next_id: Integer; 我收到错误:PROCEDURE或FUNCTION expected。如何使用Delphi 5声明一些变量?

8得票1回答
在TListView表头列中的复选框 - 如何防止它夺取焦点?

这与问题“如何在TListView标题列中显示复选框?”有关。 我想使用@Sertac Akyuz的这个答案中的代码。(我需要在WinXP中运行) 但是我希望使标题CheckBox不会从ListView或其他活动控件窃取焦点。 一种快速解决方法是在ListHeaderWndProc中始终...

10得票4回答
Delphi:如何避免减法引发EIntOverflow下溢?

微软已经在GetTickCount的文档中表示,您不能通过比较计数器来检查是否已经过了一段时间。例如: 不正确的(伪代码):DWORD endTime = GetTickCount + 10000; //10 s from now ... if (GetTickCount > end...

22得票7回答
Delphi:所有常量都是常量,但有些比其他常量更加常量?

考虑:const clHotlight: TColor = $00FF9933; clLink = clHotLight; //alias of clHotlight [Error] file.pas: Constant expression expected 以及可行的替代措...

10得票3回答
如何创建一个字符串类型?

今天Raymond Chen的博客让我意识到了一个优雅的解决办法,帮我解决了遇到的问题。 各种shell函数,不再使用 ITEM­ID­LIST 结构体,而是可以只接受以下类型: ITEM­ID_CHILD ID­LIST_RELATIVE ID­LIST_ABSOLUTE ITEM­I...

8得票4回答
Delphi:如何为派生类添加不同的构造函数?

更新:我最初提供的例子有点复杂。这里是一个简单的8行示例,用一个代码块解释了所有内容。以下内容不会编译但会给出警告: TComputer = class(TObject) public constructor Create(Cup: Integer); virtual; end; ...