2
我有一个用VB6编写的旧ActiveX组件,它支持(甚至不打算要求对它进行现代化改造,这正是我目前的做法),它确实有些奇怪编译以下代码时的东西:VB6 For Loop在一个函数中不被接受,在另一个函数中可以正常工作
Dim connectedPrinter As printer
Dim printers() As String
For Each connectedPrinter In printers
printers(UBound(printers)) = connectedPrinter.DeviceName
Next
所有它应该做的是制作一个所有连接的打印机列表。但是,编译时,VB6告诉我,
每个控制变量的数组必须变
什么古怪也就是说,在相同代码库的另一个功能,我用的是针对不同的任务完全一样的循环(设置当前打印机ALS默认)
Dim pPrinter As printer
For Each pPrinter In printers
If (pPrinter.DeviceName = sPrinterName) Then
Set printer = pPrinter
Exit For
End If
Next
然而,就是毫不犹豫地接受了,编译以及在生产环境中demonstrably工作。
这是怎么回事?
这样一个愚蠢的错误......我想这是真的说“没有看到树木”...谢谢! – 2013-02-19 12:14:43
没有看到树林,或没有看到它的部分整体。 – Motes 2013-02-19 14:51:45