McBasic™Get McBasic™ ↗
Build 881
Guided workflow

Import a tiny VB6 application and verify the result

Use a self-contained two-control example to learn the import/report/test cycle before migrating a real application.

Step 1Create two original practice files#

Create a new disposable folder named GreetingVB6. Save the following two plain-text files together; neither uses a .frx resource. You can also download GreetingVB6.vbp and frmGreeting.frm into the same folder. This is a deliberately small compatibility exercise, not a claim of general VB6 parity.

GreetingVB6.vbp
Type=Exe
Form=frmGreeting.frm
Startup="frmGreeting"
Name="GreetingVB6"
Title="Greeting practice"
MajorVer=1
MinorVer=0
RevisionVer=0
frmGreeting.frm — complete input file
VERSION 5.00
Begin VB.Form frmGreeting
   Caption = "Greeting practice"
   ClientHeight = 2400
   ClientWidth = 6000
   Begin VB.CommandButton cmdGreet
      Caption = "Greet"
      Left = 240
      Top = 240
      Width = 1800
      Height = 480
   End
   Begin VB.Label lblGreeting
      Caption = "Ready"
      Left = 240
      Top = 960
      Width = 4800
      Height = 480
   End
End
Attribute VB_Name = "frmGreeting"
Option Explicit
Private Sub cmdGreet_Click()
    lblGreeting.Caption = "Hello from the imported app"
End Sub

Step 2Import the folder into a new package#

In McBasic™, choose File → Import Visual Basic 6 Project… and select GreetingVB6. Keep the detected code page for this ASCII-only fixture. Choose a new GreetingPractice.mcbproj destination outside the input folder. Import and wait for the report.

Step 3Inspect the conversion before running#

Read the report summary, then Manual and Approximated. Open each finding and understand it; do not assume an empty compiler-error list means all behavior survived. Inspect the two controls, their captions and positions, the Click binding and the full imported handler. Classic appearance is expected.

Step 4Check and perform the actual action#

Run Check, then Run. The label starts at Ready. Click Greet: it must become Hello from the imported app. Close and reopen the saved project and repeat. Compare the input handler with the imported one; the test is the visible result, not only the migration classification.

Step 5Apply the same method to a real application#

Back up the real input and import into another new package. Resolve missing files first, then one Manual area at a time. For optional Finish with AI, tick a small set of findings, inspect the prepared Plan request and scope before Send, and test the resulting changes yourself.

Source baseline 20f4bfed6b · Build manifest
Sources & maintenance

Original web explanation, reviewed against these repository sources. API tables and example files follow the implementation.

  • docs/manual/32-importing-a-visual-basic-6-project.md
  • src/McBasic.Import/Vb6MenuMapper.cs
  • src/McBasic.Import/Vb6MenuShortcuts.cs
  • site/assets/downloads/vb6-practice/GreetingVB6.vbp
  • site/assets/downloads/vb6-practice/frmGreeting.frm