使用嵌入的 dll 作为资源启动程序时出现问题

2023-12-30

我已经搞定了About.com 在 Delphi EXE 中嵌入 dll 的指南 http://delphi.about.com/od/windowsshellapi/l/aa012103c.htm只要我实际上不使用 DLL 作为外部函数,这似乎就可以工作。无论如何,是否可以让我链接到的代码比 use 子句中引用的单元更早地工作。
我试过了:

  • 完全按照这段代码所说的去做。
  • 将此代码放置在使用使用外部函数的单元的表单的初始化部分中。
  • 将此代码放置在使用外部函数的单元的初始化部分中。

我所说的外部函数指的是一个如下所示的函数:

function MyFunction: Integer; stdcall; external 'fundll.dll';

我遇到的问题是无法加载通常的“fundll.dll”(因为它不在目录中)。当代码达到这个程度时,Zarko 的代码就可以工作了(非常好,它在该文件夹中创建了 dll)。但当我使用所需的外部函数时,它甚至在项目开始运行之前就崩溃了。


你不能用外部函数来做到这一点 - 使用加载库() and 获取过程地址()相反,在提取 DLL 后,一切都应该可以正常工作。

原因是只有在操作系统加载程序解析了所有入口点后才会执行任何代码。如果你愿意的话,这有点像先有鸡还是先有蛋的问题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用嵌入的 dll 作为资源启动程序时出现问题 的相关文章

  • 我可以让我的 Delphi 应用程序在特定时间(例如上午 12:00)启动,而不运行应用程序吗?

    我看到一个已安装的应用程序 它从供应商的网站提供一些 XML 数据并将其显示在主窗体窗口中 我想这很简单 但我注意到 即使我关闭系统托盘中的应用程序 明天早上 上午 12 00 正好 它也会再次弹出 这太酷了 我不确定它是用 Delphi
  • 如何在 Delphi REST 中发布内容类型为“multipart/form-data”的数据?

    我正在尝试使用 REST API 发送请求multipart form data作为内容类型 我总是收到 HTTP 1 1 500 Internal Error 作为响应 我尝试向需要的方法发送请求application x www for
  • Delphi - 在修复 VCL 错误时,单元 x 是用不同版本的 x 编译的

    我正在使用 Delphi XE6 并在我的项目中使用 Datasnap 和 JSON 我想纠正 VCL 单元 System JSON pas 在 TJSONString ToString 函数中 中的一个错误 它应该转义反斜杠字符和引号 为
  • 从内存加载动态库

    是否可以从内存而不是从 mac gcc 上的文件系统加载库 在 Windows 中 我使用 MemoryModule 但它显然不跨平台兼容 首先 要做到这一点 我建议您阅读OS X ABI 动态加载器参考 https developer a
  • 德尔福数据结构

    我可能需要在 Delphi 中做一个项目 并且是该领域的初学者 目前 我正在网上搜索资源 但由于资源站点太少而感到困惑 首先 你能给我一些好的网站 其中包含我迄今为止错过的 Delphi 资源吗 我也在 Delphi 中搜索数据结构 想知道
  • 如何在 Delphi DBLookupComboBox 中选择正确的项目

    我有一个数据库查找组合框连接到数据库查询 那部分工作正常 当我运行程序时数据库查找组合框填充有查询的结果 我想看看数据库查找组合框填充第一项 请选择 当 的时候程序第一次运行或者当一个新项目行动已启动 见下图 另外 如果我正在加载以前保存的
  • 具有 csOwnerDrawFixed 样式的组合框如何表现得像 csDropDown 样式?

    我正在使用一个组合框 http docwiki embarcadero com Libraries en Vcl StdCtrls TComboBoxstyle 属性设置为的组件csOwnerDrawFixed 我实现了绘图项一切工作正常
  • 为什么未初始化的指针会导致内存访问冲突接近 0?

    据说often 但并非总是如此 当你在接近于零的内存位置 比如 89 美元 获得 AV 时 你就有了一个未初始化的指针 但我也在 Delphi 书籍中看到了这一点 嗯 或者它们都是由同一作者写的 Update 引自 Bob Swart 等人
  • 当responseText包含有效的Xml时,IXMLHttpRequest.responseXml为空,没有解析错误

    我正在从中获取一些 XML政府网站 http www bankofcanada ca stats assets rates rss noon en all xml http www bankofcanada ca stats assets
  • 如何从本机 C(++) DLL 调用 .NET (C#) 代码?

    我有一个 C app exe 和一个 C my dll my dll NET 项目链接到本机 C DLL mynat dll 外部 C DLL 接口 并且从 C 调用 C DLL 可以正常工作 通过使用 DllImport mynat dl
  • 在 Delphi 中使用 XML(将特定数据返回到变量)

    过去几天我一直在尝试使用 Delphi 2010 和 MSXML 我是一个极端的新手 需要一点指导 var MemoryStream TMemoryStream XMLPath String sName String XMLDoc vari
  • 石和磅的格式正确吗?

    我有一个图表 用于显示重量 以英石和磅 lbs 为单位 该图表由记录中的数据填充 对于权重 数据类型为 Double 记录数据是在运行时编辑的 我需要知道一种正确格式化输入数据的方法 为了更好地理解 首先看一下这些示例值 它们表示为石和磅
  • 为什么 {$ifopt FINITEFLOAT ON} 无法编译?

    我有这样的构造 ifopt FINITEFLOAT ON message FINITEFLOAT option ON else message FINITEFLOAT option OFF endif 在我的源代码中 它不会编译 这一定是一
  • Delphi IDE导致CPU过热

    我正在使用 Delphi 7 但我已经尝试过 Delphi 2005 2010 版本 在所有这些新版本中 当 Delphi IDE 在屏幕上可见时 我的 CPU 利用率为 50 一个核心为 100 另一个核心为 宽松 当 IDE 最小化时
  • Delphi 6 命令行编译:无 DCU

    当对 dpr 文件使用 dcc32 时 它会生成一个 dll 但不会生成 dcu 项目级别 cfg 使用 N 开关设置路径 但指定的目录中没有任何内容 当 E 开关正在工作时 它必须看到 cfg 我尝试在调用 dcc32 之前对 dpr 文
  • EOutOfMemory 使用 Delphi 创建大型 XML

    我正在使用 Delphi 从关系数据库中的数据创建 XML 文档 它在小数据集上测试得很好 但是当我尝试将数据集的大小扩展到生产级别时 它最终在节点创建期间因 EOutOfMemory 异常而崩溃 我正在使用放在表单上的 TXMLDocum
  • 所见即所得与 Unicode

    我在 Delphi 中编写了一个 Windows 程序 该程序使用 GetCharWidth 和 Em Square 将文本非常精确地放置并换行到屏幕和打印机 这对于 ANSI 文本效果很好 您只需要检索和计算 255 个字符的宽度 但当您
  • 我需要从 64 位 exe 访问 32 位 dll

    我知道我阅读了有关代理进程的所有内容 并且我能够创建代理 COM 但它要么全部在 32 位中工作 要么全部在 64 位中工作 正确的结构是什么 1 32 dll 我尝试了以上两种方法 但没有成功调用32 dll 我不太了解您所指的代理 CO
  • 任意通用列表的通配符

    我有一个类 MyClass 它不是通用的 包含任意 TList 并对其执行某些操作 我希望用通用 TList 替换 TList 但 MyClass 必须保持非通用 由于 Delphi 是不变的 这样的事情是行不通的 list1 TList
  • 将delphi stringgrid导出到excel

    我正在尝试将数据从delphi 7 中的stringgrid 导出到microsoft excel 我一直在使用这段代码来做到这一点 objExcel TExcelApplication Create nil objExcel Visibl

随机推荐

  • Powershell 相当于 F# Seq.forall

    我写了这个 有效 function ForAll BEGIN allTrue true PROCESS if lt 1 allTrue false END allTrue aList 0 4 bList 1 4 aList ForAll r
  • UWP 检查当前页面的名称或实例

    在我的 UWP 应用程序中 我从协议或 toast 启动 在 onactivated 方法中 我想检查应用程序的主视图是否打开或正在显示哪个页面 全部来自 App xaml cs 我想做这样的事情 If Mainpage is not sh
  • JFreeChart:鼠标单击获取数据源值

    我有一个显示进程内存状态的 JFreeChart 实例 初始化如下 m data new TimeSeriesCollection TimeSeries vmsize new TimeSeries VMSize TimeSeries res
  • java.security.InvalidKeyException:密钥长度不是 128/192/256 位

    我是 Java 新手 尝试使用混合加密 使用 AES 128 对称加密 然后对生成的对称密钥使用 RSA 1024 非对称加密 有人可以帮助我为什么会收到此异常吗 我已经关注了其他帖子 并在相应的文件夹中下载了 Java 加密扩展 JCE
  • R图上的纸张边框

    不确定 R 的plot ly 函数是否具有此功能 我还没有找到它 但我想我会问 Plot ly 确实有一个 paper bgcolor 参数 可以更改绘图所在纸张的颜色 如下所示 mydf data frame x 1 5 y 1 5 pl
  • 没有意图过滤器的 Android BroadcastReceiver

    我在一些 Android 广告网络 sdks 中看到他们声明BroadcastReceiver没有意图过滤器 像这样的事情
  • 从容器连接到主机服务的示例

    我是 Docker 和无人机编程的新手 我能够将 python 脚本 包含 Dronekit 代码 部署到 Windows 10 上的 docker 容器 要运行该脚本 我需要连接到主机上的服务 我在下面提供了一个片段 Windows 有一
  • android:无法制作多线芯片组

    我在相对布局中有一个芯片组以及一个文本视图 其代码如下所示
  • 使用 C++ 静态控制背景颜色

    我正在使用 Windows API 创建一个基本的 GUI 但遇到了一个问题 它从一个主窗口开始 该窗口以我设置的自定义背景颜色打开 RGB 230 230 230 然后 它使用静态控件在左上角显示文本 settingstext Creat
  • 如何在 Windows 上挂载 docker 套接字?

    我正在尝试使一个仅在 Unices 上开发的应用程序在 Windows 上运行 它全部是 dockerized 的 并且使用 traefik 负载均衡器 用于运行 traefik 的 docker 的卷如下所示 volumes var ru
  • Photoshop 沿 y 轴移动图层

    我正在编写一个脚本 该脚本将向右 向左 向上或向下移动图层 这取决于图层的哪个边缘位于画布内 我已经设法使用bounds 0 和bounds 2 使图层左右移动 x轴 但是当我尝试让它向上或向下移动时 它仍然向左 向右移动 难道是我的边界数
  • PHP Zend Route Config.ini - 类似模式

    我正在使用配置文件在我的应用程序中路由我的请求 我有以下条目 路线 deal route deal id 路线 deal defaults controller 交易 路线 deal defaults action 索引 路线 deal r
  • Azure - 在 Powershell 中断开 VNet 集成

    通过 Azure 门户 我可以断开 VNet 集成 如下所示 我需要使用 Az 模块在 Powershell 脚本中执行此操作 这可能吗 只需使用下面的命令 它在我这边工作得很好 Remove AzResource ResourceGrou
  • axios 不发送参数的 POST 请求

    我正在尝试使用以下代码将一些数据从 Vue js 发布到基于 Symfony 的后端 updateQuestion function axios post staff question api this id id test name sr
  • IOError:[Errno 2]没有这样的文件或目录[重复]

    这个问题在这里已经有答案了 我在尝试对文件夹中的许多文件运行迭代时遇到问题 这些文件存在 如果我从文件打印文件 我可以看到它们的名称 我对编程很陌生 你能帮我一下吗 亲切的问候 import os for path dirs files i
  • 如何设置 javapns(iOS 推送通知)?

    我查看了 javapns 的文档 wiki http code google com p javapns http code google com p javapns 不幸的是 本应显而易见的事情对我来说却并非如此 如何设置有效的推送通知服
  • ‘(’ 标记之前预期的构造函数、析构函数或类型转换

    编译polygone h and polygone cc给出错误 polygone cc 5 19 error expected constructor destructor or type conversion before token
  • 从存储过程获取输出参数而不调用execute()

    我想通过实体管理器从 Java 程序中调用 PL SQL 存储过程 StoredProcedureQuery storedProcedureQuery entityManager createStoredProcedureQuery som
  • 自执行函数语法和回调语法解释

    也许是一个有点愚蠢的问题 但我想了解为什么自执行函数及其回调的语法与所有其他 JS 语法如此不同 function 我只需要理解为什么用它来封装它是有效的 我没想到这是有效的 然后额外的 之后的回调 它就直接位于它之后 我也不期望它是有效的
  • 使用嵌入的 dll 作为资源启动程序时出现问题

    我已经搞定了About com 在 Delphi EXE 中嵌入 dll 的指南 http delphi about com od windowsshellapi l aa012103c htm只要我实际上不使用 DLL 作为外部函数 这似