我在将Delphi2007RADStudioProfessional安装到Windows764位企业版上时遇到问题。一切正常,直到我输入安装序列号。输入它并单击安装向导中的下一步按钮后,我在第906行收到安装脚本错误。确定该错误将关闭安装程序。我已经进行了一些谷歌搜索,但还没有发现任何类似的东西(尽管我发现了很多关于在各种版本的64位Windows上安装它并且遇到其他问题的人的引用资料)。我已经能够在同一台机器上毫无问题地安装Delphi2009。我真的很想安装2007,因为这是我们目前主要的Delphi开发IDE。 最佳答案 我在
我想在Windows资源管理器内容菜单(适用于所有文件类型)中创建菜单项,单击后将打开我的应用程序并将选定的文件名传递给它。有这方面的教程吗?我知道有可用的ShellPlus组件,但它有点过时了。 最佳答案 注册表这个方法很简单,因为它归结为添加一些注册表项。缺点是你不能在其中放入任何逻辑。你可以阅读它here和hereDelphi中的一个简单示例。如果您使用DDE来执行菜单项,您将获得更多的控制权。参见here一个德尔福的例子。外壳扩展此方法需要更多工作,但您可以完全通过代码控制上下文菜单。你将不得不编写一个DLL,实现ICont
我想从Delphi启动一个应用程序,并获得它的句柄,这样我就可以将所述应用程序的主窗口嵌入到TFrame类型的框架中。到目前为止我已经尝试过:FunctionTFrmEmbeddedExe.StartNewApplication:Boolean;varSEInfo:TShellExecuteInfo;ExitCode:DWORD;beginFillChar(SEInfo,SizeOf(SEInfo),0);SEInfo.cbSize:=SizeOf(TShellExecuteInfo);withSEInfodobeginfMask:=SEE_MASK_NOCLOSEPROCESS;Wn
我的最后一个问题“列出Win-7下的服务和服务状态”让我开始研究一个解决方案,该解决方案基于.manifest文件为我的应用程序提供WindowsVista及更高版本的管理员权限。我不确定是否要继续上一个问题,因为它们不一样,所以这是另一个问题:我的应用程序现在在Win7下运行良好,无论我是否以“管理员身份”运行它,因为list文件。我的list文件如下:PowershieldServiceMonitor当应用程序在Windows7或Vista上运行时,UAC会出现如下对话框:alttexthttp://www.freeimagehosting.net/uploads/39787fd3
我有一个KNOWNFOLDERID,我想知道相应的路径,如C:....\folder。KNOWNFOLDERID可以在这里找到。http://msdn.microsoft.com/en-us/library/bb762584%28VS.85%29.aspx我想使用winapi(我不想构建包含所有KNOWNFOLDERID和路径的数组)。谢谢 最佳答案 只需调用SHGetKnownFolderPathAPI函数。由于此函数是在Vista中添加的,因此不会在Delphi7附带的库单元中声明它。因此您需要自己声明它。typeKNOWNFO
我一直在编写一个程序,理想情况下它将在后台的服务器上运行而不会关闭-因此不存在任何内存泄漏很重要。我的程序涉及使用Windows终端服务API(wtsapi32.dll)检索实时session信息,并且由于信息必须是实时的,该函数每隔几秒运行一次,我发现调用WTSEnumerateSessionsEx函数具有导致相当大的内存泄漏。似乎按照MSDN文档中的说明调用WTSFreeMemoryEx似乎没有任何影响,但我没有收到任何来自这两个调用的错误消息。总而言之:问题不在于执行WTSEnumerateSessionsEx,因为返回了有效数据;内stub本没有被释放,这会导致长时间运行时出现
只是检查在编写Windows服务时是否有任何最佳实践。Service(单线程)需要定时工作,目前只能想到:使用sleep(),然后循环检查时间?使用TTimer?有什么建议吗? 最佳答案 您的服务是单线程的并不重要,因为服务将始终在不同的线程上下文中调用其代码:服务管理器将启动、停止、暂停和恢复服务执行,并请求当前服务状态。服务本身将至少有一个线程执行真正的工作,它需要对来自服务管理器的请求使用react,根据请求更改服务执行状态,并返回请求的信息。服务需要在相当短的时间内响应来自服务管理器的请求,否则它会认为服务已挂起并杀死它。这
关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭9年前。Improvethisquestion您会考虑将Delphi2010/XE用于开发新的Windows桌面项目,还是认为它与.Net和Microsoft产品(WPF)的当前状态不符?如果您会/不会使用它,请解释原因。编辑我同意最初的问题有点争论。然而,这是一个严肃的问题。我住在澳大利亚,我没有看到很多包含最近delphi经验的开发人员简历,所以当我说“死”时,我只是在质疑它是否是一个糟糕的选择,因为使用它的人越来越少。
我认为D2006(WIN32)中的EOLN函数在应用于具有Unix类型的换行符(LF)的文本文件时存在错误,当这个LF是输入缓冲区中的第一个字符。错误的来源是行TEST[EDX].TTextRec.Mode,tfCRLF应该正确阅读TEST[EDX].TTextRec.Flags,tfCRLF是Flags字段存储线制动样式,而不是Mode字段存储输入/输出模式。上一行是Sytem单元下面片段的一部分,当需要重新填充缓冲区时调用它。这个错误没有被注意到,因为Mode字段是输入文件的奇数(这是EOLN通常使用的模式)fmInput=$D7B1;为Windows生成的文本文件匹配tfCRLF
我查了一些代码,好像所有东西都在创建一些数学函数波,但我想要一个单音,或者用自定义单音制作的自定义波。我读过这个HowcanIgeneratecontinuoustonesofvaryingfrequencies?这与我的答案很接近。假设我要像上面的链接一样使用waveOutWrite,我似乎无法弄清楚如何为HWAVEOUT中的每个样本计算放大器/频率。在链接中的代码中,它是这样完成的:样本[i]:=round(vol*sin(omega*t));假设我想要一个15kHz频率的单音和一些放大器(无论哪个放大器),如何计算Sample[1]? 最佳答案