我们有一个大型DelphiXE代码库,我们希望将其移植到64位。我拥有DelphiXE2许可证,但我找不到任何警告或提示可以帮助我检测有效的32位结构,这些结构现在会导致64位平台下的数据丢失。例如,对于32位编译器完全有效的THandle到Cardinal的赋值在为Win64编译时不会引发任何警告。在使用Delphi2009迁移到Unicode时,我们收到了大量警告,这对我们跟踪和修复可疑代码有很大帮助。使用XE2,我找不到任何东西。我无法想象在编译器级别没有集成任何东西来避免我们对所有代码进行手动审查。我错过了什么吗?如果您尝试过,您是如何将项目移植到64位的?谢谢!
多年来,我的应用程序一直采用一种模式,客户可以“禁用对操作系统的访问”。显然,此功能有悖常理(至少就Windows而言),但在某些安装中,我的应用程序是唯一应该对机器运算符(operator)可见的程序,在这种情况下,此功能很有用。我使用的技术是从几个“层”构建的:隐藏任务栏和按钮。禁用任务切换。禁用我的主窗体系统图标。要禁用我使用的任务栏://Getahandletothetaskbaranditsbutton..Taskbar:=FindWindow('Shell_TrayWnd',Nil);StartButton:=FindWindow('Button',Nil);//Hidet
本地工作站:Win7终端服务器:Win2008服务器Outlook:2003在本地工作站上运行。我正在尝试实现将Outlook消息从本地工作站复制和粘贴到终端服务器。使用下面的代码,我可以将文件从本地工作站复制并粘贴到服务器...TmyMemoryStream=class(TMemoryStream);...procedureTmyMemoryStream.LoadFromIStream(AStream:IStream);variPos:Int64;aStreamStat:TStatStg;oOLEStream:TOleStream;beginAStream.Seek(0,STREAM
为了实现基于Windows的翻页应用程序,我需要能够将大量PDF页面转换为高质量的JPG,而不仅仅是缩略图。目的是为此实现最佳质量/文件大小,类似于PhotoshopsSaveforWeb所做的那样。目前我正在使用DatalogicsAdobePDFLibrarySDK,它似乎无法完成该任务。因此,我正在寻找一个替代的commcericalC++或Delphi库,它提供了良好的质量/大小/速度。在这里做了一些搜索后,我注意到大多数帖子都是关于GS和Imagekick的,我也测试过,但我对输出和速度不满意。目标是导入300dpi的PDF并将其转换为JPG质量50、1500px高度和3
我有一个控制台应用程序,当输出重定向(外部)到文件或管道(myapp.exe>Foo.bar)时必须禁用或启用某些操作如何检查我的Delphi控制台应用程序是否已重定向到文件或管道? 最佳答案 您可以使用GetStdHandle和GetFileType功能。首先使用GetStdHandle函数检索控制台输出句柄,然后可以使用GetFileType函数检查句柄的类型。{$APPTYPECONSOLE}{$R*.res}usesWindows,SysUtils;functionConsoleRedirected:Boolean;varF
我想将这些属性作为整数值获取一个文件。 最佳答案 尝试functionFileAge(constFileName:string;outFileDateTime:TDateTime):Boolean;来自SysUtils。 关于windows-如何在Delphi中获取文件的创建/最后修改日期?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/144453/
我对Delphi10.2Pascal编程语言中的特定编程问题有疑问。StringOfChar和FillChar在2012年之前发布的CPU上的Win64版本构建下无法正常工作。FillChar的预期结果只是在给定内存缓冲区中重复8位字符的普通序列。StringOfChar的预期结果相同,但结果存储在字符串类型中。但实际上,当我使用10.2版本的Delphi编译在10.2之前的Delphi中运行的应用程序时,我们为Win64编译的应用程序在2012年之前发布的CPU上无法正常运行。StringOfChar和FillChar不能正常工作——它们返回一个由不同字符组成的字符串,尽管是重复的模
该软件基于Delphi7构建。在我的XP机器上,表单会按预期调整大小。但是,在两台Vista机器上,我的组件的anchor设置为[akLeft、akTop、akRight、akBottom],但是当我调整表单大小时,组件不会随表单一起拉伸(stretch),在右侧和底部边缘留下空白.在XP机器上,组件可以正确地拉伸(stretch)。因此,Vista机器似乎忽略了anchor属性。知道是什么原因造成的以及如何解决吗?重要更新(François):我们的D2007应用程序和所有x64窗口都遇到了同样的问题。安德烈亚斯的回答确实是解决办法。所以它与D7或Vista无关。
我需要在Delphi的域中为Windows机器获取一个完全限定的域名。我试过使用LookupAccountSid但它只给我netbios域名,在我的例子中,它是“intranet”,但我需要完整的“intranet.companyname.com”有什么想法吗? 最佳答案 试试GetUserNameExWindowsAPI函数。constNameUnknown=0;NameFullyQualifiedDN=1;NameSamCompatible=2;NameDisplay=3;NameUniqueId=6;NameCanonical
在Windows98时代之后,我们多次遇到一些对话框失去其Z顺序并返回到以前的形式。例如:Dialog1.ShowModal;Dialog1.OnClickButton():ShowMessage('anything');出现MessageBox时,有时没有焦点,移到Dialog1下。用户对此感到困惑,他们说:我的应用程序卡住了!!!但是,如果他们使用Alt+Tab移动到另一个应用程序并返回,焦点将返回到MessageBox,它将成为前景窗口。我们在ShowMessage、MessageBox、普通表单和QuickReport表单中遇到过这种情况。有人知道吗?它是Windows错误吗?