未处理的非法访问读异常(插入影像图代码)

news2025/1/16 13:52:59

本文迁移自本人网易博客,写于2013年1月5日,未处理的非法访问读异常(插入影像图代码) - lysygyy的日志 - 网易博客 (163.com)

Acad::ErrorStatus CustomApplication::createAcDbRasterImageDef (AcDbObjectId & parObjectId,

ACHAR * parImageName, ACHAR * parImagePath)

{

// declaration

Acad::ErrorStatus ErrorStatus;

AcDbObjectId DictionaryId;

AcDbDictionary* pDictionary;

Adesk::Boolean bNameInUse;

// Create new image def object

AcDbRasterImageDef* pAcDbRasterImageDef = new AcDbRasterImageDef;

if (pAcDbRasterImageDef == NULL)

return Acad::eNullObjectPointer;

ErrorStatus = pAcDbRasterImageDef->setSourceFileName(parImagePath);

if (ErrorStatus != Acad::eOk)

{

ads_printf(_T("Error: Could not find the image file.\n"));

delete pAcDbRasterImageDef;

return ErrorStatus;

}

ErrorStatus = pAcDbRasterImageDef->load();

if (ErrorStatus != Acad::eOk)

{

ads_printf(_T("Error: Could not open the image file.\n"));

delete pAcDbRasterImageDef;

return ErrorStatus;

}

DictionaryId = AcDbRasterImageDef::imageDictionary(acdbHostApplicationServices()->workingDatabase());

if (DictionaryId.asOldId() == 0)

{

ErrorStatus = AcDbRasterImageDef::createImageDictionary(acdbHostApplicationServices()->workingDatabase(), DictionaryId);

if (ErrorStatus!= Acad::eOk)

{

delete pAcDbRasterImageDef;

return ErrorStatus;

}

}

ErrorStatus = acdbOpenObject((AcDbObject*&)pDictionary, DictionaryId, AcDb::kForWrite);

if (ErrorStatus != Acad::eOk)

{

delete pAcDbRasterImageDef;

return ErrorStatus;

}

bNameInUse = pDictionary->has(parImageName);

if (!bNameInUse)

ErrorStatus = pDictionary->setAt(parImageName, pAcDbRasterImageDef, parObjectId); //这一行时崩溃,unhandled access violation reading 0x0054 exception at 64554c66h

else

{

pDictionary->close();

delete pAcDbRasterImageDef;

return Acad::eHandleInUse;

}

pDictionary->close();

pAcDbRasterImageDef->close();

return ErrorStatus;

}

查了两天,最终发现问题在于:加载影像图之前必须先加载模块 acismobj17.dbx,而我原来的工程中可能是加载其他模块时将该模块自动加载了,另外Autocad自带的附着图像功能也将该模块加载进去了,命令 imageAttach,回车,弹出选择文件对话框之前,就先加载了两个模块: acismobj17.dbx 和 acismui.arx。所以在测试的时候只要选了附着图像的命令,再调用我的自定义命令,就不会出错了。

Dictionary添加(setAt)AcDbRasterImageDef类型的记录时出现"eWrongObjectType"的解决方法

2010-06-12 17:23:06| 分类: ObjectARX|字号 订阅

记得加入acISMobj15.dbx:

不然会有eWrongObjectType的问题

在acrxEntryPoint的case AcRx::kInitAppMsg: 中添加

if (!acrxDynamicLinker->loadModule("acISMobj15.dbx", true))

{

return AcRx::kRetError;

}

在case AcRx::kUnloadAppMsg:添加

acrxDynamicLinker->unloadModule("acISMobj15.dbx");

即可

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/145188.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2023年入职/转行网络安全行业,该如何规划学习?

前言 前段时间,知名机构麦可思研究院发布了**《2022年中国本科生就业报告》**,其中详细列出近五年的本科绿牌专业,其中,信息安全位列第一。 网络安全前景 对于网络安全的发展与就业前景,想必无需我多言,作…

【Leetcode】699. 掉落的方块(困难)

一、题目 1、题目描述 在二维平面上的 x 轴上,放置着一些方块。 给你一个二维整数数组 positions ,其中 positions[i][lefti,sideLengthi]positions[i] [left_i, sideLength_i]positions[i][lefti​,sideLengthi​] 表示:第 i 个方块边长…

基于YOLOV5的手势识别系统源码及模型,训练得到能识别10种常用手势的模型

毕设系列-基于YOLOV5的手势识别系统 完整代码下载地址:基于YOLOV5的手势识别系统源码及模型 本期我们带来的内容是基于YOLOV5的手势识别系统,我们将会训练得到能识别10种常用手势的模型,废话不多说,还是先看效果。 配置环境 不熟…

ROS2 Launch文件编辑及运行

在第一版的 ROS 中launch 一般使用 xml 文件的格式进行编写和运行,但从 ROS2 中增添了 py 的 python 的可执行文件 作用 为了解决频繁的 ros2 run 命令,和多个节点之间的运行及关闭 特性 launch文件允许我们同时启动和配置多个包含 ROS 2 节点的可执行…

Java学习者看过来。。。这些优质项目千万别错过

程序员宝藏库:https://gitee.com/sharetech_lee/CS-Books-Store 这么主流的编程语言,如果去GitHub搜一下,会发现Java项目多如牛毛。 这就会带来很多困扰,假如有10万个项目,想从其中找到适合初学、进阶等不同阶段的项目…

【OpenFOAM】-olaFlow-算例7-波面自适应网格

算例路径: none 算例描述: 波面附近采用自适应网格划分 学习目标: 动网格设置和使用,dynamicFvMesh dynamicRefineFvMesh 的各参数含义 学习体会:    (1) 在结构附近的加密网格,自适应网格依然会对细网格…

weston 窗口管理 (1)

窗口管理 (1) 一、概述 在传统嵌入式场景下,通常只会运行一个UI程序,故相当于单窗口程序,无需桌面服务器的介入;在桌面系统下,对于每一个UI程序而言,它们的行为相比于嵌入式场景仍然没有发生改变,其对接的仍然是窗口,只不过在同一个时刻允许多个UI程序同时运行. 无论如何对于…

Git的标签:tag

目录 1. 查看标签 1.1 简单查看 1.2 匹配筛选标签 2. 创建标签 2.1 附注标签 2.2 轻量标签 2.3 代码提交之后打标签 2.4 提交标签 3. 删除标签 4. 检出标签 Git 可以给仓库历史中的某一个提交打上标签,以示重要。 比较有代表性的是人们会使用这个功能来标记…

thrift OOM 内存溢出

最近经常发生thrift服务半夜宕机的问题,虽然是测试环境,但是每天早上重启也很恶心。 经过很长时间的摸索,终于找到了原因。先说背景: 我们用的thrift版本是0.9.2,用做service的rpc框架,某一天开始&#x…

安全狗云原生安全产品入选《2022网络安全技术应用试点示范项目名单》

近日,工信部正式发布《2022网络安全技术应用试点示范项目名单》。作为国内云原生安全领导厂商,安全狗也凭借突出的产品能力,入选名单。 据悉,此次评选需层层通过单位申报、部门初审和推荐、专家评审、网上公示等多个环节。安全狗…

玉湖冷链黄铮洪出任广东省物流标准化技术委员会副主任

1月5日,广东省物流标准化技术委员会(第三届)成立大会召开,玉湖冷链执行董事黄铮洪出任副主任委员。 大会现场 根据2022年9月广东省市场监督管理局发布的通告,决定成立第三届广东省物流标准化技术委员会(以下简称「标准化委员会」)。此次大会进…

七、k8s Service详解

文章目录1 Service介绍1.1 userspace 模式1.2 iptables 模式1.3 ipvs 模式2 Service类型3 Service使用3.1 实验环境准备3.2 ClusterIP类型的Service3.3 Endpoint3.4 HeadLiness类型的Service3.5 NodePort类型的Service3.6 LoadBalancer类型的Service3.7 ExternalName类型的Serv…

树莓派3B摄像头的详细使用教程(拍照+录像+监控)

树莓派4B摄像头的详细使用教程(拍照录像监控) 本篇博文将介绍树莓派摄像头是如何在树莓派开发板上从安装到使用的,博主过程中参考了许多帖子,现将整理的比较全面的过程分享出来,供大家参考使用。 排线连接 硬件连接时…

【阶段二】Python数据分析数据可视化工具使用02篇:条形图与雷达图

本篇的思维导图: 条形图 条形图与柱形图类似,几乎可以表达相同多的数据信息。条形图的柱形变为横向,从而导致与柱形图相比,条形图更加强调项目之间的大小对比。尤其在项目名称较长以及数量较多时,采用条形图可视化数据会更加美观、清晰。 代码 # 导入需要的包imp…

java学习day70(乐友商城)授权中心

1.无状态登录原理 1.1.什么是有状态? 有状态服务,即服务端需要记录每次会话的客户端信息,从而识别客户端身份,根据用户身份进行请求的处理,典型的设计如tomcat中的session。 例如登录:用户登录后&#x…

cubeIDE开发, stm32的C库应用分析

一、stm32的C库 cubeIDE针对STM32芯片开发,提供个了两大库,HLA库和C库(集成GNU Tools for STM32工具链时提供,该工具链同样是意法半导体提供,可在http:// www.st.com单独下载),前者帮助开发这简…

P1055 [NOIP2008 普及组] ISBN 号码————C++

文章目录题目[\[NOIP2008 普及组\] ISBN 号码](https://www.luogu.com.cn/problem/P1055)题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1样例 #2样例输入 #2样例输出 #2提示解题思路1Code运行结果解题思路2Code运行结果题目 [NOIP2008 普及组] ISBN 号码 题目描述 …

windows 安装jenkins运行发布vue项目到linux服务器

文章目录背景安装jenkins安装插件安装nodej插件Publish over SSH系统配置Publish over SSH全局工具配置设置node构建项目创建一个freestyle的项目Discard old buildsgit命令报错Host key verification failedBuild背景 由于服务器上运行jenkins很卡,所以对于小公司…

windows安装jenkins运行发布java springboot项目到linux服务器

文章目录背景安装jenkins安装插件安装maven插件Publish over SSH系统配置Global propertiesPublish over SSH全局工具配置设置jdk设置maven设置git构建java maven项目freestyle 或者maven都可以Discard old buildsgit命令报错Host key verification failed每次构建前清理构建环…

可观测性之Log4j2优雅日志打印

可观测性之Log4j2优雅日志打印# 简介 对于Log4j2大家应该都不是很陌生,听说最多的应该是2021年年底出现的安全漏洞了,不过最让大家头痛的应该不仅仅是这个安全漏洞的处理,安全漏洞通过升级最新的依赖版本即可快速解决,平时在使用…