4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Visual Basic 6.0で実装する湯婆婆(サポート状況も調べてみた)

Last updated at Posted at 2020-11-21

個人的にサポート状況を知りたかったのもあり、流行りにも乗りかかり、記事にしてみました。

ちなみに、大本は@NemesisさんのJavaで湯婆婆を実装してみるです。参考にさせて頂きました。ありがとうございます。

できたのは、とりあえず、こんな感じです。

##開発環境
確かVB6.0のIDEがXPまでしか対応していなかったはずです(Vista対応していたか?)。
image.png

##コード

Option Explicit
Const popupTitle = "湯婆婆 for VB6.0"

'契約ボタン
Private Sub btnContract_Click()
    '名前の長さを取得
    Dim length As Integer
    length = Len(Me.txtName.Text)

    If (length = 0) Then Exit Sub
    
    MsgBox "フン。" & Me.txtName.Text & "というのかい。贅沢な名だねぇ。", vbOKOnly, popupTitle
    
    'ランダムな位置を取得
    Randomize
    Dim newNameIndex As Integer
    newNameIndex = Int((length * Rnd) + 1)
    Dim newName As String
    newName = Mid(Me.txtName.Text, newNameIndex, 1)

    MsgBox "今からお前の名前は" & newName & "だ。いいかい、" & newName & "だよ。分かったら返事をするんだ、" & newName & "!!", vbOKOnly, popupTitle

End Sub

##実行イメージ
image.png
image.png

##.NETと比べて困るところ
.NETだとPictureBoxのDockプロパティで、親要素全体に張り付けることが可能ですが、VBにはありません。なので、ウインドウサイズが変わると子要素も連動するようにコーディングしてやる必要があります。
image.png

あと、UTF-8にも対応していません。
「𠮷田」さんには対応できません…。

コントロールの種類も少ないし、メソッド・プロパティも少ないし、色々と不自由が多いですね。

##まだまだ使われているVB6.0アプリ
不自由が多いですが、それでも、現役で動くVB6.0で作られたアプリは今でもあるようです。某大手の電子カルテパッケージでも部分的には.NET化されていますが、VB6.0の部分もまだ残っていたり…と(あと、Officeで作られた資産が多いのかも)。

そういう状況だからか、Windows 10になってもVB6.0で作られたアプリについては現在でも動作が保証されています(IDEはとっくの昔にサポート切れてますが)。

##MicrosoftのVB6.0対応状況

Microsoft公式サイトの情報源としては、以下の2点が見つかります。

2番目の英語のサイトの冒頭(下の引用)に「It Just Works」とありますが、VB6アプリケーションが動作することのみに限定して対応しているような印象です。

The Visual Basic team is committed to "It Just Works" compatibility for Visual Basic 6.0 applications on the following supported Windows operating systems:

  • Windows 10
  • Windows 8.1

(以下略)

IDEは、2008/4/8でサポート打ち切りがされています。なので、新規に作るのは難しい状態。ただ、昔、VB6.0アプリの改修をしていた時にWindows7に入れて作っていましたが、7では一応使えていました(但し、Officeを入れた後にVBをインストールすると、デバッグ実行がおかしくなる)。

VB6.0の実行にはランタイムが必要で、まだMSサイトでも配布されています。ランタイム自体は、同梱しているOSのサポートのライフサイクルに合わせるみたいです。

なので、まだまだVBもVBAも現役であり続けるのでしょうかね…?

例外処理・イベント処理だけでなく、今となっては色んな面で作りにくい言語ですが、当面、消えることはなさそうです。

ちなみに、ちゃんとWindows 10でも動きました。
image.png

4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?