如何写在VB6调试控制台?(How to write to a debug console in V

2019-07-29 08:27发布

我是新来的VB。 我想测试一些旧的VB代码,但我需要打印到控制台能够测试了在代码中设置一定值的能力。 如何打印从VB控制台?

Answer 1:

使用debug.print。 但有一个VB6应用程序没有控制台,将打印到调试窗口。



Answer 2:

这预计不会接受的答案,因为Debug.Print是去IDE测试的方式。

但是只是为了展示如何使用标准I / O在VB6容易流:

Option Explicit
'
'Reference to Microsoft Scripting Runtime.
'

Public SIn As Scripting.TextStream
Public SOut As Scripting.TextStream

'--- Only required for testing in IDE or Windows Subsystem ===
Private Declare Function AllocConsole Lib "kernel32" () As Long
Private Declare Function GetConsoleTitle Lib "kernel32" _
    Alias "GetConsoleTitleA" ( _
    ByVal lpConsoleTitle As String, _
    ByVal nSize As Long) As Long
Private Declare Function FreeConsole Lib "kernel32" () As Long

Private Allocated As Boolean

Private Sub Setup()
    Dim Title As String

    Title = Space$(260)
    If GetConsoleTitle(Title, 260) = 0 Then
        AllocConsole
        Allocated = True
    End If
End Sub

Private Sub TearDown()
    If Allocated Then
        SOut.Write "Press enter to continue..."
        SIn.ReadLine
        FreeConsole
    End If
End Sub
'--- End testing ---------------------------------------------

Private Sub Main()
    Setup 'Omit for Console Subsystem.

    With New Scripting.FileSystemObject
        Set SIn = .GetStandardStream(StdIn)
        Set SOut = .GetStandardStream(StdOut)
    End With

    SOut.WriteLine "Any output you want"
    SOut.WriteLine "Goes here"

    TearDown 'Omit for Console Subsystem.
End Sub

请注意,很少有需要在VB6实际控制台程序的代码。 它的大部分是关于分配时该程序没有在控制台子系统运行的控制台窗口。



Answer 3:

使用OutputDebugString并查看与优秀的免费邮件的DebugView 。 从卡尔·彼得森的更多信息,可重用的代码在这里



Answer 4:

这是不是一件VB6可以很容易做到(我敢肯定,这是可以做到,但你会调用本地的Win32 API,并且是不值得的痛苦,如果你只是用它进行调试)

你最好的选择(恕我直言)是这些值写入日志文件。



文章来源: How to write to a debug console in VB6?