小编Dea*_*nna的帖子

将二进制文件读入数组

使用VB6将整个大型二进制文件读入数组的最快方法是什么?

vb6 file-io

7
推荐指数
2
解决办法
3万
查看次数

使用Inno Setup安装其他可再发行文件

我正在使用Inno安装程序与一些dll一起安装我的工具.但是,我需要在安装过程中运行microsoft redistributable .exe.如何将其嵌入到设置过程中?

inno-setup

7
推荐指数
1
解决办法
2741
查看次数

如何在Windows Vista和Windows 7中运行旧的VB6应用程序?

我有一个旧的VB6应用程序,我仍然试图支持.一些用户报告在Vista或Windows 7中运行应用程序时发生了奇怪的崩溃.日志文件在其中一次崩溃后没有显示任何内容,但是客户报告错误消息说"OLE something ......",如果他们什么都看见了.

在我自己的Vista或Windows 7机器上运行程序时,我从来没有能够重现这些崩溃,所以我基本上没有关于问题的信息.

我怀疑它是VB6应用程序所依赖的一个或多个十亿个DLL的版本的问题.该应用程序还使用lame_enc.dll,它引入了一些更多的依赖项.

我猜这是VB6应用程序的一个常见问题(尽管10年前我可能只是作为程序员吮吸).是否有一些神奇的安装程序/更新程序确保所有VB6依赖项是他们需要的VB6应用程序才能正常运行?

windows vb6 dependencies

6
推荐指数
1
解决办法
7104
查看次数

使用SHFileOperation:发生了什么错误

我正在使用该函数SHFileOperation()将文件发送到回收站,我得到2个错误,我不知道它们是什么意思,因为使用此函数时错误代码不是GetLastError()值.

当函数SHFileOperation()失败时,返回值为0x57(十进制87)和0x2(十进制2).任何人都可以帮助我发现这些错误的定义(特别是当您考虑使用此功能时,错误不是GetLastError()代码的一部分).

一些重要信息:

  • 我正在使用Windows 7(我知道MSDN说使用IFileOperation而不是SHFileOperation,但我想使我的应用程序向后兼容,这就是我使用SHFileOperation的原因).如果错误发生,因为我在Windows 7上使用SHFileOperation,我可以用什么解决方案使这个工作在2000及以上的所有Windows版本上运行?

  • 我已经进行了广泛的调试,据我所知,我的SHFILEOPSTRUCT是正确的(使用了正确的标志,.pFrom是一个双零结束的字符串).我确定的一件事是我的文件路径是正确的(导致一个真实的文件,它正确格式化).

  • 大约是SHFileOperation()的2/5倍,这意味着它将文件发送到回收站并且不会返回错误

.

 BOOL result;
 SHFILEOPSTRUCT fileStruct;
 fileStruct.hwnd = hwnd; 
 fileStruct.wFunc = FO_DELETE;
 fileStruct.pFrom = dest.c_str();
 fileStruct.fFlags = FOF_FILESONLY; // FOF_ALLOWUNDO
 fileStruct.fAnyOperationsAborted = result;

 // Call operation(delete file)
 int success = SHFileOperation( &fileStruct );

 // if delete was successful
 if ( success != 0 ) 
 {
    printf( "%s \t %X %d \n", dest.c_str(), success, success );
    cout << result << endl;

    MessageBox( hwnd, "Failed to delete …
Run Code Online (Sandbox Code Playgroud)

c++ winapi

6
推荐指数
3
解决办法
1万
查看次数

检查VB6 IDE中长字符串的完整值

我有一个包含很长tsql语句的字符串'sSQL'.我需要在调试时检查它的值是什么.我通常只是在即时窗口中使用?sSQL,但是这会截断上半部分而只给我一半.

那么是否有另一种方法可以使用vb6 sp5 dev环境查看完整值?

ide vb6

6
推荐指数
4
解决办法
5814
查看次数

从.NET程序集创建对象时VB6中的后期绑定运行时错误

我有一个vb6项目,它引用了一个vb.net com库.

当我使用早期绑定时,项目运行良好,例如:

Dim b as object
Set b = new myComLib.testObject
Run Code Online (Sandbox Code Playgroud)

当我使用后期绑定时,例如:

Dim b as object
Set b = CreateObject("myComLib.testObject")
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

运行时错误'429':ActiveX组件无法创建对象

有任何想法吗?

谢谢

vb6 com activex com-interop

6
推荐指数
1
解决办法
5443
查看次数

Inno Setup似乎没有写入64位计算机上的注册表

我有一个非常简单的Inno Setup脚本,其中包含此[Registry]部分:

[Registry]
Root: HKLM; Subkey: SOFTWARE; Flags: createvalueifdoesntexist; ValueType: string; ValueName: ABC; ValueData: abc
Run Code Online (Sandbox Code Playgroud)

但是,当我检查HKLM\SOFTWARE子项时,没有添加任何值.

我在HKLM\SOFTWARE和Pascal脚本下尝试了不同的子键,但Inno Setup只是拒绝创建一个新的子键或值.

我正在运行64位Windows 7,UAC已关闭.

windows registry installation inno-setup

6
推荐指数
1
解决办法
8570
查看次数

带有前导零的数字,使用vb6

如何将前导零添加到数字?例如:

Dim stracctnumber as String
stracctnumber = 987654321
Run Code Online (Sandbox Code Playgroud)

如果stracctnumber少于15个字符,则将前导零添加到帐号.

最终的数字应该是

stracctnumber = "000000987654321"
Run Code Online (Sandbox Code Playgroud)

谁能帮我?

vb6 number-formatting

5
推荐指数
2
解决办法
2万
查看次数

通过互操作将VB6对象传递给.NET对象?

我有一个VB6应用程序,通过互操作显示.NET DLL表单.

我想在.NET DLL中的一个事件导致VB6应用程序中的表单显示.

我的想法是让VB6应用程序将表单的引用传递给.NET DLL.例如:

[VB6]
Dim objNetDllObject As New NetDllObject
objNetDllObject.PassVb6Form(MyForm)
objNetDllObject.ShowForm

[C#]
object Vb6Form; 
private void PassVb6Form(object form) { Vb6Form = form; }
private void button1_Click(object sender, EventArgs e) { Vb6Form.Show(); }
Run Code Online (Sandbox Code Playgroud)

这会有用吗?

我在其他地方读过,在'过程边界'上发送对象可能会导致问题.它是否正确?

.net c# vb6 com-interop

5
推荐指数
1
解决办法
2119
查看次数

正则表达式在字符串中替换多个单词中的相同值

我想用引号替换字符串.

Mystring 如下所示:

var query = "SELECT abc.name,abc.owner-name FROM XXX";
Run Code Online (Sandbox Code Playgroud)

我想按如下方式替换字符串.预期结果

SELECT abc."name",abc."owner-name" FROM XXX
Run Code Online (Sandbox Code Playgroud)

我正在使用正则表达式代码如下:

Regex.Replace(query, $@"\b{column.ColumnName}\b", "\"" + column.ColumnName + "\"")
Run Code Online (Sandbox Code Playgroud)

在取代以下字符串时获得结果 -

SELECT abc."name",abc."owner-"name"
Run Code Online (Sandbox Code Playgroud)

名称是单独的字符串,owner-name是单独的字符串.在尝试替换名称字符串时,另一个字符串会自动替换,因为第二个字符串中包含单词name.

如果有任何解决方案,请告诉我.提前致谢.

c# regex

5
推荐指数
1
解决办法
214
查看次数