VB6.0自动化错误

VB6.0自动化错误,vb6,Vb6,我目前正在开发一个VB6.0应用程序,该应用程序会产生一个自动化错误,该错误不太一致(有时代码工作正常,但在多次成功迭代后崩溃) 这段代码是我识别的导致自动化错误的代码。根本原因似乎在于,当计算机被设置为运行Windows7的Polish时。如果设置了英语语言环境,则不会出现任何问题 是什么导致了这个问题 如有任何建议或提示,将不胜感激 谢谢控件是ANSI而不是unicode。COM是unicode而不是ANSI。Windows和VB正在来回转换该字符串 控件为的窗口是ANSI或Unicode

我目前正在开发一个VB6.0应用程序,该应用程序会产生一个自动化错误,该错误不太一致(有时代码工作正常,但在多次成功迭代后崩溃)

这段代码是我识别的导致自动化错误的代码。根本原因似乎在于,当计算机被设置为运行Windows7的Polish时。如果设置了英语语言环境,则不会出现任何问题

是什么导致了这个问题

如有任何建议或提示,将不胜感激


谢谢

控件是ANSI而不是unicode。COM是unicode而不是ANSI。Windows和VB正在来回转换该字符串

控件为的窗口是ANSI或Unicode。VB6是在大多数计算机只有ANSI窗口时编写的,因此所有API调用(创建窗口需要)都是ANSI调用。将unicode发送到ANSI窗口,Windows将首先将其转换为ANSI。要求VB执行API调用或表单,它会将unicode字符串转换为ANSI


请参见StrConv,字节数组可以用作unicode字符串,还可以参见非unicode程序的区域选项中的系统设置。

将此错误报告给
UniTextBox
自定义控件的作者。
Dim example As String
On Error GoTo ERROR
example = UCase$(Replace(form.UniTextBox(1).Text, " ", ""))
ERROR:
debug.print("ERROR: " & Err.description)