小编Jam*_*mie的帖子

如何从FastMM获取堆栈跟踪

我在下面的帖子中注意到你可以从FastMM中获取堆栈跟踪,以显示对象分配的位置:

如何使用fastMM追踪棘手的内存泄漏?

但是,我找不到有关如何在Delphi 2009中启用此功能的任何信息.

我设置ReportMemoryLeaksOnShutdown为true所以我得到了基本报告,但是如何获得堆栈跟踪报告?

delphi delphi-2009 fastmm

17
推荐指数
3
解决办法
8360
查看次数

16
推荐指数
2
解决办法
1544
查看次数

Windows搜索 - IFilter搜索词突出显示

我的开发团队遇到问题,在Windows 7中为我们自己的自定义文件显示搜索结果的文本片段(请注意,我们不是在讨论使用IPreviewHandler接口的预览窗格).我对.txt文件的一个例子如下所示:

搜索示例

此处显示的带有突出显示结果的文本片段不会显示在我们自己的文件中,只显示文件的名称.

我们已经为我们的文件实现了IFilter,这正确地索引文件内容(搜索返回正确的结果).它只是不会显示片段并突出显示搜索词.

我们怀疑它可能与cwcStartSource和IFilter中STAT_CHUNK的cwcLenSource值有关,但是将它们设置为不同的值到目前为止还没有产生任何结果.

有没有其他人有类似的经历或有任何想法?

提前致谢.

windows search winapi ifilter windows-search

9
推荐指数
1
解决办法
1809
查看次数

为什么我的应用程序允许我将文件保存到Vista中的Windows和System32文件夹?

我有一个用Delphi 7编写的应用程序,它不需要运行管理员权限.

出于某种原因,即使应用程序未请求UAC提升,我也能够从应用程序中将文件保存到c:\ windows和c:\ windows\system32 .我以管理员身份登录并启用UAC,但我没有更改任何默认的UAC设置.这些文件实际上也显示在Windows资源管理器下.我没有使用"以管理员身份运行"选项.

如果我尝试在相同的配置文件下使用写字板做同样的事情,我会得到预期的错误.

有什么想法发生了什么?

该应用程序使用Ole Structured Storage来保存并包含以下清单,如果有帮助的话.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
    <assemblyIdentity type="win32" name="DelphiApplication" version="1.0.0.0" processorArchitecture="*"/>
<dependency>
<dependentAssembly>
  <assemblyIdentity
    type="win32"
    name="Microsoft.Windows.Common-Controls"
    version="6.0.0.0"
    publicKeyToken="6595b64144ccf1df"
    language="*"
    processorArchitecture="*"/>
</dependentAssembly>
</dependency>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
            <security>
                    <requestedPrivileges>
                            <requestedExecutionLevel
                                   level="asInvoker"
                                   uiAccess="false"/>
                    </requestedPrivileges>
            </security>
    </trustInfo>
</assembly>
Run Code Online (Sandbox Code Playgroud)

编辑:要清楚,我的应用程序默认情况下不会将任何内容保存到这些位置.我通过标准文件保存对话框选择这些位置.

更新

我已经找到了为什么我的申请被视为遗产,尽管包括上述清单.事实证明,第二个清单也包括在内,没有'trustInfo'部分.我已经删除了第二个清单,现在一切都很好.

谢谢你的帮助

compatibility uac file windows-vista

6
推荐指数
1
解决办法
1865
查看次数

如何在编辑TTreeView节点时停止对话框默认和取消行为

我有一个带有TTreeView控件的对话框,还有一个OK和Cancel按钮.按钮的Default和Canel属性分别设置为true,并且已正确设置ModalResult.

用户可以使用内置控件的功能编辑树节点的标题.

如果用户在编辑树节点时遇到转义或进入,则对话框将消失,而不是仅取消或接受对节点标题的编辑.

例如,在逃避的情况下,我希望一旦命中转换来修改标题的编辑,然后再次触发转义以取消对话框.

处理这种情况的最佳方法是什么?

TMemo有WantReturns属性来处理这个问题,但我看不到TTreeView的任何内容.

delphi

5
推荐指数
1
解决办法
1888
查看次数

寻找 Delphi 甘特图组件

有人有在 Delphi 中使用甘特图控件的经验吗?我正在寻找一种原生的 VCL,但 ActiveX 也可以。

除了看起来还算不错并且有非常基本的编辑之外,我没有太多的要求。

感谢您的任何建议

编辑:我在 Delphi 2009

delphi components gantt-chart

5
推荐指数
1
解决办法
8658
查看次数

Delphi 2010 IDE可以将相对搜索路径添加到项目中

我们最近从Delphi 2009升级到2010.

2009年适合我们的事情之一就是当您向项目添加搜索路径时(通过项目 - >选项 - > Delphi编译器 - >搜索路径)并使用浏览对话框,IDE将添加相对路径.

在2010年,这似乎已经变为绝对路径.有没有办法将这种行为改回相对路径?

我知道您仍然可以键入相对路径,但使用对话框进行浏览非常方便.

delphi delphi-2010

5
推荐指数
1
解决办法
788
查看次数

使用64位IFilter中的32位Com对象

我有一个用Delphi编写的IFilter,我正试图在64位Windows 7桌面搜索下工作.

由于它是在Delphi中开发的,我只能将其编译为32位DLL.

为了解决这个问题,我试图在Visual C++中编写一个64位IFilter Dll,它在内部使用我的32Bit IFilter Com对象,使用这里概述的DllSurogate技术.

在测试64位控制台应用程序下,我已经完成了所有这些工作.我可以创建一个64位包装器的实例,它在内部创建32位IFilter对象并委托对它的所有调用.然后我可以检索我的文档的内容.

问题是,当我使用WDS注册时,64位包装器不能再创建32位对象.CoCreateInstance返回"服务器执行失败"(CO_E_SERVER_EXEC_FAILURE).

这就是我在64位包装器中创建32位对象的人

result = CoCreateInstance(clsid, 0, CLSCTX_LOCAL_SERVER , IID_IFilter, (LPVOID*)&m_pFilter);
Run Code Online (Sandbox Code Playgroud)

不知道为什么会这样.它是WDS中IFilters的权限限制吗?

感谢您的帮助.

delphi com 64-bit ifilter visual-c++

4
推荐指数
1
解决办法
867
查看次数

将RFC 822 Date转换为TDateTime

任何人都可以建议一个将RFC 822格式的日期字符串转换为TDateTime的Delphi库吗?

例如2011年10月24日13:54:55 -0000

我想这可能是因为服务器返回的格式略有不同而容易出错,因此经过试验和测试的例程会很好.

使用自定义短日期格式sting,可以使用内置的StrToDateTime例程来实现吗?

注意:我正在使用Delphi 2010

delphi datetime rfc822

4
推荐指数
1
解决办法
1696
查看次数

Delphi 7 - 窗体中的嵌入式文件打开对话框

有谁知道是否可以在自己的表单中嵌入文件打开对话框?

我们有一个选项卡式对话框,在其中一个选项卡上,我们希望用户能够浏览具有与标准打开对话框相同功能的文件,例如'查找'组合框,放置栏,shell文件列表,文件名组合名称完成等

我已经看过用一些第三方组件重新创建对话框,即Jam Shell Browser Components

我可以通过这种方式获得大部分功能,但我遗漏了一些东西,比如地方栏和文件名自动完成\建议

delphi delphi-7 topendialog opendialog

2
推荐指数
1
解决办法
3968
查看次数

将TWebBrowser转换为TWinControl

任何人都可以告诉我为什么第二次演员无法在Delphi 7中编译?

var
  WebBrowser: TWebBrowser;
begin
  WebBrowser := TWebBrowser.Create(Self);
  TWinControl(WebBrowser).Parent := Self;
  (WebBrowser as TWinControl).Parent := Self; // fail here
end
Run Code Online (Sandbox Code Playgroud)

TWebBrowser中的Parent是一个只读的IDispatch属性,但为什么第一个转换看到TWinControl父属性ok,但第二个看不到?

谢谢

delphi

2
推荐指数
1
解决办法
1181
查看次数