递归火山软件开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 火山 源码 类库
查看: 118|回复: 5
打印 上一主题 下一主题

[视窗] 网页访问重大问题

[复制链接]

24

主题

86

帖子

855

积分

高级会员

Rank: 4

积分
855
跳转到指定楼层
楼主
发表于 4 小时前 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 菜鸟小杰 于 2026-9-14 15:07 编辑

为什么 官网自带的各种 网络库   只要 MFC动态链接库里面 启动方法 调用了 http请求  就像断网一样  最大可能是阻塞了  根本用不了请求 这种问题是不是官网该解决一下  太离谱了吧  但是调试正常   我去调用发现的问题  也是服了  
回复

使用道具 举报

70

主题

682

帖子

5096

积分

贵宾

火山官方交流群:831858564

Rank: 9Rank: 9Rank: 9

积分
5096
QQ
沙发
发表于 4 小时前 | 只看该作者
本帖最后由 乐易论坛 于 2026-9-14 15:30 编辑

不能直接在启动方法下面直接用 好像可以通过 启动一个线程 延时一段时间后 在线程内操作 不过我也想问 易语言怎么没有这个问题 火山为啥有.


以下是微软给出的解释  

DllMain 在加载器锁被持有时调用。 因此,对可以在 DllMain 中调用的函数施加了重大限制。 因此,DllMain 旨在通过使用 Microsoft® Windows® API 的一小部分来执行最小的初始化任务。 不能调用 DllMain 中直接或间接尝试获取加载器锁的任何函数。 否则,将引入应用程序死锁或崩溃的可能性。 DllMain 实现中的错误可能会危及整个进程及其所有线程。

理想的 DllMain 只是一个空存根。 但是,鉴于许多应用程序的复杂性,这通常过于严格。 DllMain 的一个很好的经验法则是尽可能地推迟初始化。 延迟初始化会增加应用程序的稳定性,因为加载器锁被持有时不会执行此类初始化。 此外,延迟初始化使你能够安全地使用更多 Windows API 功能。

某些初始化任务无法推迟。 例如,如果文件格式不正确或包含垃圾,则依赖于配置文件的 DLL 应无法加载。 对于这种类型的初始化,DLL 应会尝试操作并快速失败,而不是通过完成其他工作来浪费资源。

不应从 DllMain 中执行以下任务:

调用 LoadLibrary 或 LoadLibraryEx(直接或间接)。 这可能会导致死锁或崩溃。
调用 GetStringTypeA、GetStringTypeEx 或 GetStringTypeW(直接或间接)。 这可能会导致死锁或崩溃。
与其他线程同步。 这可能会导致死锁。
获取由等待获取加载器锁的代码拥有的同步对象。 这可能会导致死锁。
使用 CoInitializeEx 初始化 COM 线程。 在某些情况下,此函数可以调用 LoadLibraryEx。
调用注册表函数。
调用 CreateProcess。 创建进程时可能会加载另一个 DLL。
调用 ExitThread。 在 DLL 分离期间退出线程可能会导致加载器锁再次被获取,从而导致死锁或崩溃。
调用 CreateThread。 如果不与其他线程同步,则创建线程可以正常工作,但存在风险。
调用 ShGetFolderPathW。 调用 shell/已知文件夹 API 可能会导致线程同步,因此可能会导致死锁。
创建命名管道或其他命名对象(仅限 Windows 2000)。 在 Windows 2000 中,命名对象由终端服务 DLL 提供。 如果未初始化此 DLL,则对 DLL 的调用可能会导致进程崩溃。
使用动态 C 运行时 (CRT) 中的内存管理功能。 如果未初始化 CRT DLL,则对这些函数的调用可能会导致进程崩溃。
调用 User32.dll 或 Gdi32.dll 中的函数。 某些函数会加载另一个 DLL,该 DLL 可能无法初始化。
使用托管代码。
可以在 DllMain 中安全地执行以下任务:

在编译时初始化静态数据结构和成员。
创建和初始化同步对象。
分配内存并初始化动态数据结构(避免上面列出的函数)。
设置线程本地存储 (TLS)。
打开、读取和写入文件。
调用 Kernel32.dll 中的函数(上面列出的函数除外)。
将全局指针设置为 NULL,从而推迟动态成员的初始化。 在 Microsoft Windows Vista™ 中,可以使用一次性初始化函数来确保在多线程环境中只执行一次代码块。
回复

使用道具 举报

14

主题

108

帖子

2279

积分

银牌会员

Rank: 6Rank: 6

积分
2279
板凳
发表于 3 小时前 | 只看该作者
是用了CURL相关命令吗?
回复

使用道具 举报

503

主题

2万

帖子

4万

积分

超级版主

Rank: 8Rank: 8

积分
49593
QQ
地板
发表于 1 小时前 | 只看该作者
乐易论坛 发表于 2026-9-14 15:28
不能直接在启动方法下面直接用 好像可以通过 启动一个线程 延时一段时间后 在线程内操作 不过我也想问 易 ...

易语言肯定都处理过啊
回复

使用道具 举报

43

主题

294

帖子

2725

积分

金牌会员

Rank: 9Rank: 9Rank: 9

积分
2725
5#
发表于 1 小时前 | 只看该作者
那为什么火山不处理啊
回复

使用道具 举报

37

主题

431

帖子

3661

积分

论坛元老

Rank: 8Rank: 8

积分
3661
6#
发表于 1 小时前 | 只看该作者
创世魂 发表于 2026-9-14 17:48
易语言肯定都处理过啊

想多了,   易语言DLL编译出来都一样,  调试是例外,  DLL项目易语言调试启动的是EXE, 并非DLL
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|递归火山软件开发平台 ( 鄂ICP备18029190号 )

GMT+8, 2026-9-14 19:38 , Processed in 0.097965 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表