草庐IT

Delphi7_VCL

全部标签

delphi - 在 Delphi 中使用单个函数释放内存和 nil

我有很多内存分配和相同数量的FreeMem调用。我没有的是在调用freemem之前检查指针是否为nil,以及在释放后将指针设置为nil的一行。我尝试创建一个函数来执行此操作procedureFreeMemAndNil(p:Pointer;size:Integer=-1);beginifpnilthenbeginifsize>-1thenFreeMem(p,size)elseFreeMem(p);p:=nil;end;end;但是有一个问题。它不能将原始指针设置为nil,因为参数不是变量(varp:指针)。但我不能使用var因为如果我这样做编译器会提示类型必须是完全相同的类型(指针)。我

delphi - 在 Delphi 中使用单个函数释放内存和 nil

我有很多内存分配和相同数量的FreeMem调用。我没有的是在调用freemem之前检查指针是否为nil,以及在释放后将指针设置为nil的一行。我尝试创建一个函数来执行此操作procedureFreeMemAndNil(p:Pointer;size:Integer=-1);beginifpnilthenbeginifsize>-1thenFreeMem(p,size)elseFreeMem(p);p:=nil;end;end;但是有一个问题。它不能将原始指针设置为nil,因为参数不是变量(varp:指针)。但我不能使用var因为如果我这样做编译器会提示类型必须是完全相同的类型(指针)。我

Delphi - 最小化和恢复释放内存?

多年来,我断断续续地涉足delphi,我一直想知道为什么最小化和恢复应用程序会导致它使用更少的内存?作为一个例子,我使用的是delphi7,我创建了一个新项目,上面什么都没有,但所有项目都以空白表单开始,然后我按F9运行应用程序,然后查看应用程序的内存使用情况,然后它位于3.5mb左右,然后我将应用程序最小化,内存使用量下降到760kb左右,然后我最终恢复应用程序,内存使用量回升到1.5mb左右,大约是原来的1/2第一次加载,这总是让我困惑是什么导致了这种情况发生,更重要的是无论如何都要使用一些指令启动应用程序,使其使用1.5mb的内存而不是它通常使用的3.5mb。干杯,戴夫

Delphi - 最小化和恢复释放内存?

多年来,我断断续续地涉足delphi,我一直想知道为什么最小化和恢复应用程序会导致它使用更少的内存?作为一个例子,我使用的是delphi7,我创建了一个新项目,上面什么都没有,但所有项目都以空白表单开始,然后我按F9运行应用程序,然后查看应用程序的内存使用情况,然后它位于3.5mb左右,然后我将应用程序最小化,内存使用量下降到760kb左右,然后我最终恢复应用程序,内存使用量回升到1.5mb左右,大约是原来的1/2第一次加载,这总是让我困惑是什么导致了这种情况发生,更重要的是无论如何都要使用一些指令启动应用程序,使其使用1.5mb的内存而不是它通常使用的3.5mb。干杯,戴夫

c++ - 我可以用 Delphi 2010 编写 Windows 驱动程序吗?

我一直听说Delphi几乎可以做C++可以做的任何事情……除了编写Windows驱动程序。这是正确的,如果是,为什么?我最近在网上阅读了一篇博文,其中可能表明possiblesolutionforwritingdriverswithDelphi,但它已经3年了,我不知道这个信息有多准确。那么,使用最新版本的Delphi(2010),在技术上是否可以编写Windows驱动程序? 最佳答案 使用Delphi编写一些驱动程序在技术上可能是可行的,但就一般答案而言,我会说:你不能使用Delphi轻松编写驱动程序。首先,用户模式驱动程序(UM

c++ - 我可以用 Delphi 2010 编写 Windows 驱动程序吗?

我一直听说Delphi几乎可以做C++可以做的任何事情……除了编写Windows驱动程序。这是正确的,如果是,为什么?我最近在网上阅读了一篇博文,其中可能表明possiblesolutionforwritingdriverswithDelphi,但它已经3年了,我不知道这个信息有多准确。那么,使用最新版本的Delphi(2010),在技术上是否可以编写Windows驱动程序? 最佳答案 使用Delphi编写一些驱动程序在技术上可能是可行的,但就一般答案而言,我会说:你不能使用Delphi轻松编写驱动程序。首先,用户模式驱动程序(UM

如何确定Delphi中多个可见形式的Z顺序?

使用delphi7.在其他组件中,还有4个在TPANEL上的非模式可见形式(TPANEL是表格的母体)。我使用show,hide,bringtofront,sendtoback上的各种形式,并且效果很好。问题在于,在任何时间点我都想通过编程方式确定表单的z顺序。例如,form2位于顶部,后面是form3,然后是form1,最后一个是form4。或以略有不同的方式放置:给定任何两个非模式,可见的形式,例如form2和form3,如何以编程方式确定哪个高于另一个?我尝试了屏幕。形式,但是它不起作用-无论表单的实际可见z级,它总是以相同顺序为我提供表单。我阅读了有关Windows函数GetTopWi

Delphi Http Https 最好的解决方法(一)

当前文章主要解决Delphi调用http、https的常见报错。开发工具:DelphiXE10.1Berlin版本可能所需的控件包:QDAC请自行下载。1.接口描述 dll_init接口初始化,程序启动时调用,主要是对工具类实例的创建 dll_post发送post请求,支持http、https dll_get发送get请求,支持http、https dll_uninit接口释放,程序关闭时调用,主要是对工具类实例的释放2.参数说明functiondll_post(sUrl,sJson,sHeader:PWideChar;varsOut:PWideChar):Byte;stdcall;funct

java - Delphi XE5 中的谷歌云消息传递?

我有一个android应用程序,我正在考虑移植到Delphi,但我看不到与GCM交互的方法。我在想我可能必须在java中运行GCMBaseIntentService并与delphi共享对象接口(interface)?或者,我正在寻找一种在DelphiXe5android应用程序中进行推送通知的方法。 最佳答案 您使用JNI将Java与Delphi交互。JNI允许您双向调用:Java到Delphi或Delphi到Java。因此,您可以使用Javaclasses扩展您的Delphi应用程序。.要在Android上实现您想要的,用Java

java - Delphi XE5 中的谷歌云消息传递?

我有一个android应用程序,我正在考虑移植到Delphi,但我看不到与GCM交互的方法。我在想我可能必须在java中运行GCMBaseIntentService并与delphi共享对象接口(interface)?或者,我正在寻找一种在DelphiXe5android应用程序中进行推送通知的方法。 最佳答案 您使用JNI将Java与Delphi交互。JNI允许您双向调用:Java到Delphi或Delphi到Java。因此,您可以使用Javaclasses扩展您的Delphi应用程序。.要在Android上实现您想要的,用Java