文档章节

全局变量 HInstance 到底是在什么时候赋值的?

涂孟超
 涂孟超
发布于 2014/09/26 15:34
字数 202
阅读 2
收藏 0
点赞 0
评论 0
在学习 资源文件钩子函数 时, 经常用到当前模块句柄(HInstance)这个全局变量. 今天特别想知道, 它到底是在什么时候给赋值的.

输入 HInstance; "Ctrl+鼠标" 找到它的声明之处: SysInit 单元的第 29 行(Delphi 2007) - HInstance: LongWord;
看来 Delphi 的隐含单元不只是 System.pas, 还有 SysInit.pas.

在 SysInit 单元的 658 行找到了它的赋值语句: HInstance := GetModuleHandle(nil);
是在一个 _InitExe 的过程中.

那程序又是在什么时候执行的 _InitExe 方法呢?

用 F7 逐句调试...找不到!

勾选 Project -> Options -> Compiler -> Use debug DCUs 后, 重新用 F7 逐句调试, 找到了:

原来程序在执行 Application.Initialize; 之前就来到 SysInit 单元执行了 _InitExe 方法!

本文转载自:http://www.cnblogs.com/del/archive/2008/04/01/1132741.html

共有 人打赏支持
涂孟超
粉丝 12
博文 2004
码字总数 14107
作品 0
深圳
程序员
变量声明和变量赋值是否应当分开

在 Perl 语言中,变量声明和变量赋值是用不同的关键字来标记的: my $var = 1$var = 2 Lisp 语系也是一样: (let ($var 1) 支持这种区别的语言还有 Lua,C,Go.但在别的语言,例如 Ruby, Juli...

沙枣 ⋅ 2016/09/23 ⋅ 1

理解Javascript--作用域和赋值操作

作用域作为一个最基础的功能存在于各种编程语言中,它使得我们的编程更加灵活有趣。其基础功能就是存储变量中的值,然后可以对值进行访问和修改。 可能我们都知道作用域的一些概念,以及其一...

吴金瑞 ⋅ 2017/05/09 ⋅ 0

C/C++变量在内存中的分布

C/C++变量在内存中的分布在笔试时经常考到,虽然简单,但也容易忘记,因此在这作个总结,以加深印象。 先写一个测试程序: #include include int g_i = 100;int g_j = 200;int gk, gh;int ma...

长平狐 ⋅ 2012/12/10 ⋅ 0

C/C++变量在内存中的分布

C/C++变量在内存中的分布在笔试时经常考到,虽然简单,但也容易忘记,因此在这作个总结,以加深印象。 先写一个测试程序: #include include int g_i = 100;int g_j = 200;int gk, gh;int ma...

彭博 ⋅ 2012/04/12 ⋅ 3

CWnd中PreCreateWindow、PreSubclassWindow、SubclassWindow的区别

MFC(VC6.0)的CWnd及其子类中,有如下三个函数: 让人很不容易区分,不知道它们究竟干了些什么,在什么情况下要改写哪个函数? 想知道改写函数?让我先告诉你哪个不能改写,那就是SubclassWin...

ryany ⋅ 2010/12/20 ⋅ 0

[转]MFC运行机制(自认为介绍比较清晰的)

学MFC,竟然还不知道MFC的MAIN函数在什么地方?怎么运行的?实在不高明。 看过候捷(JJHOU)老师的《深入浅出MFC》的,对它一定很熟悉。呵呵,本文是献给没有看过那本书,但是又很希望学习MFC...

shiyongfu19890308 ⋅ 2017/12/13 ⋅ 0

MySQL中变量的定义和变量的赋值使用(转)

说明:现在市面上定义变量的教程和书籍基本都放在存储过程上说明,但是存储过程上变量只能作用于begin...end块中,而普通的变量定义和使用都说的比较少,针对此类问题只能在官方文档中才能找...

easonjim ⋅ 2017/12/03 ⋅ 0

win32 的DLL中创建windows窗口

因工作需要,需要写一个DLL,在DLL中创建windows窗口,网上有很多关于DLL创建窗口的文章,不过是基于MFC的, 却鲜见直接用win32的DLL创建的。研究调试了一下,实现了在win32 DLL中创建窗口,...

MrStone ⋅ 2012/11/27 ⋅ 0

变量对象(Variable Object)

问题: 声明函数和变量发生了什么细节? 解析器如何并且在什么地方查找这些声明的函数和变量? 引用这些对象会发生什么? 知识点: 变量对象(Variable Object - VO)是执行上下文的一个属性...

KaronChen ⋅ 2015/08/22 ⋅ 0

Win32窗口编程基础知识——主函数

虽然说编程重要的是思想,用什么语言实现都是鸡肋,但是并不是说你对一个语言一点也不会看一遍就可以精通,我的经历就是以前只注意C/C++编程,对其他语言完全不看,发现最后自己练个窗口图形...

abcdxyz ⋅ 2012/05/04 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

tcp/ip详解-链路层

简介 设计链路层的目的: 为IP模块发送和接收IP数据报 为ARP模块发送ARP请求和接收ARP应答 为RARP模块发送RARP请求和接收RARP应答 TCP/IP支持多种链路层协议,如以太网、令牌环往、FDDI、RS-...

loda0128 ⋅ 今天 ⋅ 0

spring.net aop代码例子

https://www.cnblogs.com/haogj/archive/2011/10/12/2207916.html

whoisliang ⋅ 今天 ⋅ 0

发送短信如何限制1小时内最多发送11条短信

发送短信如何限制1小时内最多发送11条短信 场景: 发送短信属于付费业务,有时为了防止短信攻击,需要限制发送短信的频率,例如在1个小时之内最多发送11条短信. 如何实现呢? 思路有两个 截至到当...

黄威 ⋅ 昨天 ⋅ 0

mysql5.7系列修改root默认密码

操作系统为centos7 64 1、修改 /etc/my.cnf,在 [mysqld] 小节下添加一行:skip-grant-tables=1 这一行配置让 mysqld 启动时不对密码进行验证 2、重启 mysqld 服务:systemctl restart mysql...

sskill ⋅ 昨天 ⋅ 0

Intellij IDEA神器常用技巧六-Debug详解

在调试代码的时候,你的项目得debug模式启动,也就是点那个绿色的甲虫启动服务器,然后,就可以在代码里面断点调试啦。下面不要在意,这个快捷键具体是啥,因为,这个keymap是可以自己配置的...

Mkeeper ⋅ 昨天 ⋅ 0

zip压缩工具、tar打包、打包并压缩

zip 支持压缩目录 1.在/tmp/目录下创建目录(study_zip)及文件 root@yolks1 study_zip]# !treetree 11└── 2 └── 3 └── test_zip.txt2 directories, 1 file 2.yum...

蛋黄Yolks ⋅ 昨天 ⋅ 0

聊聊HystrixThreadPool

序 本文主要研究一下HystrixThreadPool HystrixThreadPool hystrix-core-1.5.12-sources.jar!/com/netflix/hystrix/HystrixThreadPool.java /** * ThreadPool used to executed {@link Hys......

go4it ⋅ 昨天 ⋅ 0

容器之上传镜像到Docker hub

Docker hub在国内可以访问,首先要创建一个账号,这个后面会用到,我是用126邮箱注册的。 1. docker login List-1 Username不能使用你注册的邮箱,要用使用注册时用的username;要输入密码 ...

汉斯-冯-拉特 ⋅ 昨天 ⋅ 0

SpringBoot简单使用ehcache

1,SpringBoot版本 2.0.3.RELEASE ①,pom.xml <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.0.3.RELE......

暗中观察 ⋅ 昨天 ⋅ 0

Spring源码解析(八)——实例创建(下)

前言 来到实例创建的最后一节,前面已经将一个实例通过不同方式(工厂方法、构造器注入、默认构造器)给创建出来了,下面我们要对创建出来的实例进行一些“加工”处理。 源码解读 回顾下之前...

MarvelCode ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部