2017-06-28 54 views
3

VB2010に変換中の.VBPファイルを開くためにVB6を最近ダウンロードしました。私の目標はVB6でプログラムを実行することです。VB2010の最初から書いているプログラムをデバッグするために、コードを一行ずつ進めることができます。仮想マシンをオフに実行しVB6のタブがフォームに表示されない

プログラムは、次のようになりますstarupフォームを持っています

Form on virtual machine

しかし

、私はVB6のスタートアップフォームを表示するとき、私はこれを参照してください。 Form on VB6

ご覧のとおり、タブページがありません。私がコードを実行すると、デバッガは、タブページ(FrontWeightsなど、いくつかのタブページのすべての名前である(グリッドの名前、タブページではない)の名前であり、デバッガは " FrontWeights.ColWidth(1)= 4280 + 1000" ):

Private Sub Form_Load() 
    Screen.MousePointer = 11 

    Width = 10680 
    Height = 6816 
    FrontWeights.ColWidth(1) = 4280 + 1000 
    FrontWeights.ColWidth(2) = 1109 
    FrontWeights.ColWidth(3) = 1109 
    FrontWeights.ColWidth(4) = 1109 
    For I = 1 To 100 
    FrontWeights.AddItem Str$(I), I 
    Next I 
    FrontWeights.Row = 0 
    FrontWeights.Col = 1 
    FrontWeights.Text = "Description" 
    FrontWeights.Col = 2 
    FrontWeights.Text = "Quantity" 
    FrontWeights.Col = 3 
    FrontWeights.Text = "Weight (lbs)" 
    FrontWeights.Col = 4 
    FrontWeights.Text = "Offset (in)" 

    BogieWeights.ColWidth(1) = 4280 + 1000 
    BogieWeights.ColWidth(2) = 1109 
    BogieWeights.ColWidth(3) = 1109 
    BogieWeights.ColWidth(4) = 1109 
    For I = 1 To 100 
    BogieWeights.AddItem Str$(I), I 
    Next I 
    BogieWeights.Row = 0 
    BogieWeights.Col = 1 
    BogieWeights.Text = "Description" 
    BogieWeights.Col = 2 
    BogieWeights.Text = "Quantity" 
    BogieWeights.Col = 3 
    BogieWeights.Text = "Weight (lbs)" 
    BogieWeights.Col = 4 
    BogieWeights.Text = "Offset (in)" 

    CenterWeights.ColWidth(1) = 4280 + 1000 
    CenterWeights.ColWidth(2) = 1109 
    CenterWeights.ColWidth(3) = 1109 
    CenterWeights.ColWidth(4) = 1109 
    For I = 1 To 100 
    CenterWeights.AddItem Str$(I), I 
    Next I 
    CenterWeights.Row = 0 
    CenterWeights.Col = 1 
    CenterWeights.Text = "Description" 
    CenterWeights.Col = 2 
    CenterWeights.Text = "Quantity" 
    CenterWeights.Col = 3 
    CenterWeights.Text = "Weight (lbs)" 
    CenterWeights.Col = 4 
    CenterWeights.Text = "Offset (in)" 

    InternalPipingGrid.ColWidth(1) = 3005 
    InternalPipingGrid.ColWidth(2) = 795 
    InternalPipingGrid.ColWidth(3) = 795 
    InternalPipingGrid.ColWidth(4) = 795 
    InternalPipingGrid.ColWidth(5) = 795 
    InternalPipingGrid.ColWidth(6) = 795 
    InternalPipingGrid.ColWidth(7) = 795 
    InternalPipingGrid.ColWidth(8) = 795 
    For I = 1 To 100 
    InternalPipingGrid.AddItem Str$(I), I 
    Next I 
    InternalPipingGrid.Row = 0 
    InternalPipingGrid.Col = 1 
    InternalPipingGrid.Text = "Description" 
    InternalPipingGrid.Col = 2 
    InternalPipingGrid.Text = "Lbs/Ft" 
    InternalPipingGrid.Col = 3 
    InternalPipingGrid.Text = "Gal/Ft" 
    InternalPipingGrid.Col = 4 
    InternalPipingGrid.Text = "Passes" 
    InternalPipingGrid.Col = 5 
    InternalPipingGrid.Text = "X Front" 
    InternalPipingGrid.Col = 6 
    InternalPipingGrid.Text = "Y Front" 
    InternalPipingGrid.Col = 7 
    InternalPipingGrid.Text = "X Rear" 
    InternalPipingGrid.Col = 8 
    InternalPipingGrid.Text = "Y Rear" 

    KingPinWeights.ColWidth(1) = 4280 + 1000 
    KingPinWeights.ColWidth(2) = 1109 
    KingPinWeights.ColWidth(3) = 1109 
    KingPinWeights.ColWidth(4) = 1109 
    For I = 1 To 100 
    KingPinWeights.AddItem Str$(I), I 
    Next I 
    KingPinWeights.Row = 0 
    KingPinWeights.Col = 1 
    KingPinWeights.Text = "Description" 
    KingPinWeights.Col = 2 
    KingPinWeights.Text = "Quantity" 
    KingPinWeights.Col = 3 
    KingPinWeights.Text = "Weight (lbs)" 
    KingPinWeights.Col = 4 
    KingPinWeights.Text = "Offset (in)" 

    LandingLegWeights.ColWidth(1) = 4280 + 1000 
    LandingLegWeights.ColWidth(2) = 1109 
    LandingLegWeights.ColWidth(3) = 1109 
    LandingLegWeights.ColWidth(4) = 1109 
    For I = 1 To 100 
    LandingLegWeights.AddItem Str$(I), I 
    Next I 
    LandingLegWeights.Row = 0 
    LandingLegWeights.Col = 1 
    LandingLegWeights.Text = "Description" 
    LandingLegWeights.Col = 2 
    LandingLegWeights.Text = "Quantity" 
    LandingLegWeights.Col = 3 
    LandingLegWeights.Text = "Weight (lbs)" 
    LandingLegWeights.Col = 4 
    LandingLegWeights.Text = "Offset (in)" 

    RearWeights.ColWidth(1) = 4280 + 1000 
    RearWeights.ColWidth(2) = 1109 
    RearWeights.ColWidth(3) = 1109 
    RearWeights.ColWidth(4) = 1109 
    For I = 1 To 100 
    RearWeights.AddItem Str$(I), I 
    Next I 
    RearWeights.Row = 0 
    RearWeights.Col = 1 
    RearWeights.Text = "Description" 
    RearWeights.Col = 2 
    RearWeights.Text = "Quantity" 
    RearWeights.Col = 3 
    RearWeights.Text = "Weight (lbs)" 
    RearWeights.Col = 4 
    RearWeights.Text = "Offset (in)" 

    Screen.MousePointer = 0 
End Sub 

私はこの問題を解決する方法上の任意のヘルプ? FYI - これは作業プロジェクトなので、私はファイルを共有/アップロードすることを躊躇します。

EDIT:プロジェクトファイルのテキスト:

Type=Exe 
Module=MODULE11; TransWgt.Bas 
Form=TankSize.frm 
Form=Properti.frm 
Form=Bulkhead.frm 
Form=PrintOut.frm 
Form=Drawing.frm 
Object={6B7E6392-850A-101B-AFC0-4210102A8DA7}#1.3#0; COMCTL32.OCX 
Object={00028C01-0000-0000-0000-000000000046}#1.0#0; DBGRID32.OCX 
Reference=*\G{00020430-0000-0000-C000-000000000046}#2.0#0#C:\Windows\SysWOW64\stdole2.tlb#Standard OLE Types 
Reference=*\G{00025E01-0000-0000-C000-000000000046}#4.0#0#C:\Program Files (x86)\Common Files\Microsoft Shared\DAO\DAO350.DLL#Microsoft DAO 3.0 Object Library 
Form=InputData.Frm 
Startup="InputDataForm" 
HelpFile="" 
Title="Transport Weight Analysis" 
ExeName32="TransWgt.Exe" 
Command32="" 
Name="TransportWeightAnalysis" 
HelpContextID="0" 
CompatibleMode="0" 
MajorVer=1 
MinorVer=0 
RevisionVer=0 
AutoIncrementVer=0 
ServerSupportFiles=0 
VersionComments="This is a pre-release version of this program." 
VersionCompanyName="E.D. Etnyre & Co." 
VersionFileDescription="Program for calculating weight distributions of any transport." 
CompilationType=0 
OptimizationType=0 
FavorPentiumPro(tm)=0 
CodeViewDebugInfo=0 
NoAliasing=0 
BoundsCheck=0 
OverflowCheck=0 
FlPointCheck=0 
FDIVCheck=0 
UnroundedFP=0 
StartMode=0 
Unattended=0 
Retained=0 
ThreadPerObject=0 
MaxNumberOfThreads=1 

EDIT 2::どのような画面全体が示す(すなわち、またメニュー)

EDIT 3から変更VMフォームVB6が何らかの形で最初に読み込めなかった.CLSファイルがありました。私は手動ではない。今私が実行すると、私のエラーが表示されます 'コンパイラエラー:無効な外部プロシージャ "

+1

ビー玉は、それは付属の標準TabStripコントロールではないと考えていますVB6。サードパーティ製品のように見えます。あなたが掲示したコードは、グリッドを埋めるようです。 – LarsTech

+0

VBPファイルのTEXT内容を表示します。 –

+0

テキストが追加されます。また、VB2008アップグレードウィザードを使用してVB6 .VBPファイルをアップグレードすることもできました。それには文法上のエラーがありますが、タブコントロールも表示されません。 –

答えて

1

あなたは何が起こったと言うことができるが - ちょうど推測 - TABCTL32.OCXに含まれているSSTabsへの参照が削除された

少なくとも、私はあなたがフォーム上の他のコントロールを見ない理由を教えてくれます。最初のタブのものより:

あなたは内の各一つの制御で、3つのタブでフォームを参照してください下:

enter image description here

SSTabsが動作する方法は、それを隠すために、フォームの外に左にコントロールをシフトすることによって、次のとおりです。

​​

オープンメモ帳で.frmファイル、コントロールががなければならないが、あなたは単に」することができますそれをIDEで見ることはできません。終わり

は、プロジェクトがどのように重要応じて、私は次の2つのオプション持っていると信じて:

  • .frm SSTabs手で復元してから、IDEで、別のコンテナにコントロールを配置し
  • あなたが正確にどのVB6バージョンをインストールしない私には明確ではないとして75000

で左COORDSをシフトすることにより.frmファイルのコントロールの位置に手で

  • の変化は、私はあなたのコンビニエンスAの下に追加しています.frm.ファイルを完成してください。このファイルには、SSTabの格納構造が表示されます。必要なタブを追加します。

    VERSION 5.00 
    Object = "{BDC217C8-ED16-11CD-956C-0000C04E4C0A}#1.1#0"; "TABCTL32.OCX" 
    Begin VB.Form Form1 
        Caption   = "Form1" 
        ClientHeight = 2835 
        ClientLeft  = 60 
        ClientTop  = 345 
        ClientWidth  = 3615 
        LinkTopic  = "Form1" 
        ScaleHeight  = 2835 
        ScaleWidth  = 3615 
        StartUpPosition = 3 'Windows Default 
        Begin TabDlg.SSTab SSTab1 
         Height   = 2535 
         Left   = 120 
         TabIndex  = 0 
         Top    = 120 
         Width   = 3285 
         _ExtentX  = 5794 
         _ExtentY  = 4471 
         _Version  = 393216 
         TabHeight  = 520 
         TabCaption(0) = "Tab 0" 
         TabPicture(0) = "FormTabs.frx":0000 
         Tab(0).ControlEnabled= -1 'True 
         Tab(0).Control(0)= "Text1" 
         Tab(0).Control(0).Enabled= 0 'False 
         Tab(0).ControlCount= 1 
         TabCaption(1) = "Tab 1" 
         TabPicture(1) = "FormTabs.frx":001C 
         Tab(1).ControlEnabled= 0 'False 
         Tab(1).Control(0)= "Text2" 
         Tab(1).Control(0).Enabled= 0 'False 
         Tab(1).ControlCount= 1 
         TabCaption(2) = "Tab 2" 
         TabPicture(2) = "FormTabs.frx":0038 
         Tab(2).ControlEnabled= 0 'False 
         Tab(2).Control(0)= "Text3" 
         Tab(2).Control(0).Enabled= 0 'False 
         Tab(2).ControlCount= 1 
         Begin VB.TextBox Text3 
         Height   = 375 
         Left   = -74520 
         TabIndex  = 3 
         Text   = "Text3" 
         Top    = 1680 
         Width   = 2295 
         End 
         Begin VB.TextBox Text2 
         Height   = 375 
         Left   = -74520 
         TabIndex  = 2 
         Text   = "Text2" 
         Top    = 1080 
         Width   = 2295 
         End 
         Begin VB.TextBox Text1 
         Height   = 375 
         Left   = 480 
         TabIndex  = 1 
         Text   = "Text1" 
         Top    = 720 
         Width   = 2295 
         End 
        End 
    End 
    Attribute VB_Name = "Form1" 
    Attribute VB_GlobalNameSpace = False 
    Attribute VB_Creatable = False 
    Attribute VB_PredeclaredId = True 
    Attribute VB_Exposed = False 
    
    End Sub 
    

    同じ参照は、他の人の近く、最上部に、.vbpファイルに追加されなければならない:私の頭の中で

    Object={BDC217C8-ED16-11CD-956C-0000C04E4C0A}#1.1#0; TABCTL32.OCX 
    
  • +0

    私はこれを試してみましょう! –

    +0

    ですから、.VBPファイルが置かれているフォルダ内の「タブ」を検索し、次のファイルが見つかりました:TABCTL32.OCX。これは、 "SetupWiz"というタイトルのフォルダにあります。 –

    +0

    私はVB6 Expressを持っています –

    関連する問題