tagCANDY CGI VBレスキュー(花ちゃん) - VBレスキュー(花ちゃん)の投稿サンプル用掲示板 - Visual Basic 6.0 VB2005 VB2010
VB2005用トップページへVBレスキュー(花ちゃん)のトップページVB6.0用のトップページ
VBレスキュー(花ちゃん)の投稿サンプル用掲示板
     サンプル投稿用掲示板  VB2005 〜 用トップページ  VB6.0 用 トップページ
VB6.0 をWindows 7/8 上で使用した場合の不具合(VB6.0) ( No.0 )  [親スレッドへ]
日時: 2014/12/26 11:00
名前: VBレスキュー(花ちゃん)

***********************************************************************************
* カテゴリー:[その他][エラー処理][]                                              *
* キーワード:エラー,サービス技術情報,Windows7,互換性モード,                      *
***********************************************************************************

まず、Windows Vista、Windows Server 2008、Windows 7、および Windows 8 に対する
Visual Basic 6.0 のサポートに関する声明 の MicroSoft の記事を読んでおいて下さい。
http://msdn.microsoft.com/ja-jp/vstudio/ms788708.aspx

インストールに関しては、[Visual Basic 6.0を Windows 8 上にインストール]をキーに
WEB 上で検索するといくつかのサイトで詳しく解説されているのでそちらをご覧になって
正しくインストールできているか?、今一度確認しておいて下さい。

VB6.0 をWindows 7 上で使用した場合の不具合報告が散見されるようになってきたので
現在、解っている事を纏めて見ました。
(但し、全ての環境で同様の事象が起きるかどうかまでは検証しておりません、私の環境でと)

現在確認している不具合(私の環境で)

1.Label1.Caption = CLng("\1234")                  'でエラー 13 が発生します。

2.Label1.Caption = StrConv("パピプペポ", vbWide)  'でエラー 5 が発生します。

3.Label1.Caption = DateAdd("m", 2, "2010/08/27")  'でエラー 5 が発生します。

4.InStr(1, wdTask.Name, FileName, vbTextCompare) 'で vbTextCompare 有効にならない。(EXE では、OK)
    又、vbTextCompare は、Win7 32bit + AC2007 / Access2010 でも同様の事がおきているようです。
  http://hatenachips.blog34.fc2.com/blog-entry-266.html

  下記でも同様になります。
     Dim A As String, b As String
     A = "12345678"
     Debug.Print Replace$(A, "34", "三四", 1, -1, vbBinaryCompare)  '結果 12三四5678
     Debug.Print Replace$(A, "34", "三四", 1, -1, vbTextCompare)    '結果 12345678
  


尚、上記は、下記のような条件で発生する場合があります。

 IDE 上ではエラーとなるが、EXE 上では、エラーとならない。
 互換性モードを Windows XP    で使用するとエラーとなる
 互換性モードを Windows Vista で使用するとエラーとならない


回避方法としては、

 まず、Windows 7 上だけのエラーかどうかを他のOS上で動作確認して下さい。

 IDE 上で使用する場合は、VB6.EXE の互換モードを(無し)外して使用する。
  (Windows Vista 互換モード では、一部エラーとなる、Windows XP の互換モードでは使用しない事)

 EXE 版を使用する場合、Windows Vista 互換モードで使用する。
 (EXE 版でもWindows XP の互換モードでは使用しない)


現在のところ上記が最善の方法かな?と思っております。

※ 上記以外の不具合、改善方法等ご存知の場合は、投稿の程お願いします。


----------------------------------------------------------------------------------------
又、下記サイトでは、Windows7でVB6を実行した時の、実行エラーの対応方法を掲載されています。

  http://www.kitagawa-hanga.com/se/s_vberr.html#E9900

  (その他 VB6.0 に関するエラーについても掲載されているので一読を。)
----------------------------------------------------------------------------------------


互換モードの設定方法(画像をクリックすると元のサイズで見られます。)



 [スレッド一覧へ] [親スレッドへ]