我的 Delphi 2009 应用程序无法在 Win95 上运行
我在 Delphi 2009 中创建了一个小应用程序。这里我遇到了一个问题,当我在 WindowsXP 中运行我的应用程序时,它可以工作,但在 Windows95 中却不能工作。我知道95不支持Unicode的问题。如果有人知道解决方案请告诉我。我还有一个想法,将 Unicode 转换为 ASCII。是否有可能请告诉如何做到这一点。
提前感谢
蠕虫的问候, 尤瓦拉杰
i creating an small application in Delphi 2009. here i got problem that when i run my application in WindowsXP its working but it is not working in Windows95. i know the problem that 95 will not support Unicode. if anyone knows the solution please tell me. and also i have one more idea that converting Unicode to ASCII. is it possible please tell how to do that.
Thanks in Advance
Worm Regards,
Yuvaraj
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
Delphi 2009 生成了进行 Unicode 函数调用的应用程序。你无法改变这一点。这不是将 unicode 字符串转换为 ascii 的问题。如果您希望应用程序在 Win95 上运行,您需要 Delphi 2007 或更早版本。
Delphi 2009 produces applications which make Unicode functioncalls. You can't change that. It is not a matter of converting your unicode strings into ascii. If you want your applications to run on Win95 you need Delphi 2007 or earlier.
Microsoft 专门为此目的开发了 Microsoft Layer for Unicode(简称 MSLU):在 Win95 等系统上运行针对 UNICODE 版本的 Win32 API 的应用程序,而无需对其进行更改。它通过拦截和转发呼叫来实现这一点。
不幸的是,MSLU 默认情况下作为 VC++ 库提供。 Rob Kennedy 几年前制作了一个 Delphi 移植版,可在此处获取,目标是 Delphi 2005我想为 D2009 重写一些东西会比较麻烦,但也是可行的。
另一个陷阱是 MSLU 的技术有点过时,并且可能无法涵盖 Delphi API 的所有用途。我想找出答案的唯一方法就是实际继续尝试看看它是否有效。
Microsoft has developed the Microsoft Layer for Unicode (MSLU for short) for specifically this purpose: running applications targeting the UNICODE version of the Win32 API on systems like Win95 without having to alter them. It achieves this by intercepting and forwarding the calls.
Unfortunately, MSLU is by default delivered as a VC++ lib. Rob Kennedy made a Delphi port a couple of years ago, available here, targeting Delphi 2005. I'd imagine rewriting things for D2009 would be a bit of work, but doable.
Another pitfall is that MSLU is a bit outdated tech, and might not cover all of the API's Delphi uses. I guess the only way to find out is to actually go ahead and try to see if it works.
D2009 中出现的 Unicode VCL 无法在 Windows 9x 上使用。
Unicode VCL, which appeared in D2009, can't be used on Windows 9x.