是否可以模仿loadlibrary函数?我想从BLOB字段加载一个库而不先将其写入临时文件,我需要一个不依赖于特定版本的delphi编译器或Windows,并且不触发防病毒软件的解决方案。 最佳答案 是的,你可以,而且你不需要loadlibrary从内存中执行代码-你需要使用VirtualAlloc分配内存函数PAGE_EXECUTE旗帜组更新:这是从内存中为32位Delphi执行的代码的快速演示-我只测试了它是否有效:typeTIncMe=procedure(varI:Integer);varIncMeProc:TIncMe;pr
在Delphi中查看Windows.pas,我看到有几个签名作为LoadLibrary(A)或(W)用于加载特定模块。它们之间有什么区别?我是否可以相信始终为所有类型的Windows平台调用LoadLibrary? 最佳答案 WindowsAPI提供ANSI字符串(A)或Unicode字符串(W)。在内部,WindowsAPI都可用。但是,Delphi默认为其中之一,具体取决于Delphi的版本。许多其他Windows语言也这样做。该语言默认使用ANSI或Unicode字符串。在2009年之前的Delphi版本中,使用ANSIAPI
我想这个问题已经有人问过了,但我找不到适合我的解决方案。我在64位Windows7Ultimate下使用Delphi7。实际上,我开始在32位操作系统下编写应用程序,但后来更换了PC,所以现在是64位。在我的程序中,我使用注册过程和从Windows的PROGID值生成的许可证ID。不幸的是,它没有读取该值,似乎它正在寻找不同的文件夹,可能被Windows64重定向到32位注册表。你能帮我吗?这是我使用的代码:Registry:=TRegistry.Create(KEY_READOR$0100);tryRegistry.Lazywrite:=false;Registry.RootKey:
在我的应用程序的两个部分中,主窗体在错误的时刻获得焦点:错误1。在特定打印机表单中单击“确定”时。我打开FastReportsPDF预览-这是第一个弹出窗口。该弹出窗口不会单独显示在任务栏中。这种形式是模态的。然后我点击打印,这会打开另一个带有标准打印选项的窗口。然后我单击属性-打开驱动程序的特定形式。我更改双重打印设置。当我点击“确定”时,预览表单(1)应该获得焦点,但主表单被带到前面。因为预览窗体仍然是模态的,所以很难返回到预览窗体。只有随机点击,预览表单才会再次聚焦。错误2.单击或拖动此特定滚动框会聚焦主窗体此窗口处于事件状态。这是Windows任务栏中的一个独立窗口,不是模式窗
在DelphiDLL中需要建立调用者——可能是一个简单的“.exe”或一个DBMS运行时模块——这意味着它必须获得进程中正在运行的命令。我知道CmdLine不会工作,并且可能ParamStr(0),并且不能使用基于“主窗口”的技术,因为调用者有时没有窗口.我怀疑GetModuleHandle是起点,但需要帮助才能从那里到达正在执行的命令。 最佳答案 我创建了一个测试dll:libraryProject2;usesSystem.SysUtils,System.Classes,Vcl.Forms,Vcl.Dialogs,Winapi.W
我想在有人将文件放到特定控件(例如TMemo)时立即接受文件。我从这个例子开始:http://delphi.about.com/od/windowsshellapi/a/accept-filedrop.htm并像这样修改它:procedureTForm1.FormCreate(Sender:TObject);beginDragAcceptFiles(Memo1.Handle,True);end;这允许控件显示拖动图标,但不会调用正确的WM_DROPFILES消息,因为DragAcceptFiles需要一个(Parent?)窗口句柄。我可以在WMDROPFILES过程中确定MemoHan
我在DelphiSeattle中创建了一个多设备应用程序,并添加了一个带有MenuItem1和MenuItem2的TMainMenu(没有别的)。为OSX构建和运行,仅显示MenuItem2。BuildingandrunningforWindows,两个菜单项都会显示。我没有以任何不同方式对待这两个菜单项。两者都是刚刚添加的,没有以任何方式定制。还有其他人遇到过这种情况吗? 最佳答案 Mac菜单栏中的顶级项目通常如下所示:Apple/systemmenu('AboutthisMac','SystemPreferences...',e
将我的问题提到这个答案:https://stackoverflow.com/a/4016075/698266,特别是第3步说“否则,如果应用程序过去使用过打开或另存为对话框,则选择最近使用的路径作为初始目录。”Windows在哪里保存这些信息?注意:通过实验,它似乎链接到没有路径的应用程序文件名-即复制到不同目录的相同可执行文件在更改exe时“看到”相同的最后路径信息文件名使对话框指向用户的文档目录。我的实际兴趣是出于测试目的。我需要“重置”此信息,以便在类似于首次运行的条件下测试我的应用程序。 最佳答案 WindowsXP使用HK
如何在Delphi中隐藏MDIChild窗口?我在我的MDIchild的FormClose()事件中使用这段代码,但它似乎不起作用:procedureTfrmInstrument.FormClose(Sender:TObject;varAction:TCloseAction);beginAction:=caNone;ShowWindow(Handle,SW_HIDE);frmMainForm.MDIChildClosed(Handle);end;我的子窗口被最小化而不是被隐藏。 最佳答案 TCustomForm中有一个protect
有谁知道Delphi(Win32)是否适用于嵌入式XP 最佳答案 是的,这是简短的回答我们将Delphi5与WePos(用于销售点的嵌入式窗口)一起使用,并且运行良好。通过BDE运行Interbase5.5我们唯一要做的就是安装一个额外的文件。该文件名为“libraryfiles.exe”,我知道描述性不强,这里有更多信息可以帮助您找到它AscentiveLibaryFilesVersion:2.0.0.24Productname:LibraryfilesInstallProgram 关