使用AnsiString,当程序退出的时候出现访问内存错误,各位高手帮我看看吧

Wind_LQ Wind_LQ 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
bool GetImgPath(AnsiString &path)
{
//结构体变量,存储系统版本信息
struct OSVERSIONINFO
{
DWORD dwOSVersionInfoSize;
DWORD dwMajorVersion;
DWORD dwMinorVersion;
DWORD dwBuildNumber;
DWORD dwPlatformId;
TCHAR szCSDVersion[128];
} OSVer;

//得到系统版本信息
OSVer.dwOSVersionInfoSize=sizeof(OSVer);
GetVersionEx((OSVERSIONINFOA *)&OSVer);

for(path="";path="",*_environ;_environ++)
{
//如果环境变量是windir则取出路径
path=*_environ;
if (0!=strcmp(path.SubString(1,7).c_str(),"windir=")) continue;
path=path.SubString(8,path.Length()-7);
break;
}

//如果没找到路径则返回错误
if (0==path.Length()) return false;

//如果是Win98系统
if (4==OSVer.dwMajorVersion || 0!=OSVer.dwMinorVersion)
{
path+="\\KodakImg.exe";
return true;
}

if (0==OSVer.dwMinorVersion)
{
path=path.SubString(1,3);
path+="Program Files\\Windows NT\\Accessories\\ImageVue";
//如果是WinNT系统
if (4==OSVer.dwMajorVersion)
{
path+="\\WangImg.exe";
return true;
}
//如果是Win2K系统
if (5==OSVer.dwMajorVersion)
{
path+="\\KodakImg.exe";
return true;
}
}

return false;
}
...全文

相关推荐

官方Quartz.NET 2.3.1 源码+15个示例

官方Quartz.NET 2.3.1 源码(官方2015.1.15更新) 附带15个示例 全部可用

溪子V

Lazarus/FPC跨平台实战:Windows命令行工具迁移Linux全指南

在服务器部署、自动化流水线等场景下,命令行工具常需跨平台运行。Free Pascal Compiler(FPC)与Lazarus IDE作为成熟的跨平台编译方案,可让同一套Pascal代码在Windows和Linux下编译为原生可执行文件,无需重写业务逻辑或依赖虚拟化环境。文章从跨平台开发的基础概念出发,梳理FPC编译原理及其技术优势,结合工程实践详解命令行工具迁移至Linux的完整路径:包括环境搭建、路径分隔符与换行符差异、中文编码处理、文件权限适配、交叉编译及静态链接打包等关键环节。同时分享了实际迁移中

weixin_33829657

Delphi7老项目Unicode改造:TNT Controls安装与替换实操指南

Unicode字符集解决了中文、生僻字及特殊符号在软件中的统一表示问题,但Delphi7基于AnsiString的原生VCL控件无法直接处理,导致界面与文件读写常出现乱码。TNT Controls控件包为老项目提供一套基于WideString和Windows Wide API的Unicode控件层,从TNT编辑框、备忘录到窗体组件,能有效绕开ANSI瓶颈。该方案适合维护中的Delphi7老系统,也是向新版本Delphi迁移前的过渡手段。围绕TNT Controls的安装,需要合理配置库路径、编译运行包与设计

南瓜丶奇迹师

Delphi集成Python实现jieba中文分词实战与踩坑记录

中文分词作为自然语言处理的基础环节,在文本检索、词频统计等领域至关重要。基于统计词典的分词算法通过前缀词典和隐马尔可夫模型,有效处理未登录词与歧义切分。成熟工具如jieba分词,凭借丰富词库与多模式支持,成为工程中最常用的方案。在大型老系统改造中,Delphi等桌面应用常遇到中文文本处理瓶颈,通过Python4Delphi实现Delphi与Python的混合编程,嵌入Python解释器调用jieba,能快速获得工业级分词能力。围绕实际项目,分享Delphi集成Python调用jieba进行中文分词的完整源码

weixin_34284188

Quartz.Net 2.2.3 不使用配置文件 简单示例

Quartz.Net2.2.3 不使用配置文件 自动执行任务 这是一个简单示例

疯灬疯
评论 5
收藏 已收藏
分享
返回顶部
Wind_LQ
C++ Builder 13,871 成员 102,696 内容