tagCANDY CGI VBレスキュー(花ちゃん) - VB6.0 をWindows 7/8 上で使用した場合の不具合(VB6.0) - Visual Basic 6.0 VB2005 VB2010
VB2005用トップページへVBレスキュー(花ちゃん)のトップページVB6.0用のトップページ
VB6.0 をWindows 7/8 上で使用した場合の不具合(VB6.0)
元に戻る スレッド一覧へ 記事閲覧
このページ内の検索ができます。(AND 検索や OR 検索のような複数のキーワードによる検索はできません。)

VB6.0 をWindows 7/8 上で使用した場合の不具合(VB6.0) [No.272の個別表示]
     サンプル投稿用掲示板  VB2005 〜 用トップページ  VB6.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 に関するエラーについても掲載されているので一読を。)
----------------------------------------------------------------------------------------


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

Page: 1 |

Windows 7・8 における Visual Basic 6.0 のサポートについて(VB6.0)  (No.1の個別表示) [スレッド一覧へ]
日時: 2013/03/12 22:55
名前: VBレスキュー(花ちゃん)

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

VB6.0 を Windows Vista、Windows 7 等で開発・使用する場合は、下記を必ず読んでおいて
下さい。

Windows Vista、Windows Server 2008、Windows 7、および Windows 8 に対する
Visual Basic 6.0 のサポートに関する声明
http://msdn.microsoft.com/ja-jp/vstudio/ms788708.aspx

上記には、サポートされる Windows オペレーティング システム バージョン 情報や
VBA および Office における Visual Basic 6.0 ランタイムの使用 に関する記事や
Windows Vista、Windows Server 2008、Windows 7、および Windows 8 に同梱されている
サポート対象のランタイムファイルファイル や アプリケーションと共に配布できる、
サポート対象のランタイム ファイル の一覧等も明記されています。


開発ツール対応 OS 一覧
http://www.microsoft.com/japan/msdn/vstudio/support/tools.aspx

メンテ
Windows 8 (64bit) 環境における VB6.0 の動作状況(VB6.0)  (No.2の個別表示) [スレッド一覧へ]
日時: 2013/03/12 23:07
名前: VBレスキュー(花ちゃん)

***********************************************************************************
* カテゴリー:[その他][開発環境][]                                                *
* キーワード:エラー,サービス技術情報,Windows7,互換性モード,                      *
***********************************************************************************
私自身は、Windows 8 (64bit) 環境をもっておりませんので未確認ですが、他の事を調べて
いたら、下記のような記事が見つかりましたので、ご紹介しておきます。

結論としては、Windows 8 (64bit) 環境においても一応、EXE 及び IDE(統合開発環境)共
動作するそうです。

詳しくは、下記サイト等をご覧ください。

某氏の猫空 さんのサイト( http://blog2.k05.biz/ )の

Windows8でVB6が使えるかどうか調べてみた結果
http://blog2.k05.biz/2013/01/windows8vb6.html
メンテ
Visual Basic 6.0 Service Pack 6 累積的な更新プログラム(VB6.0)  (No.3の個別表示) [スレッド一覧へ]
日時: 2013/04/26 00:33
名前: VBレスキュー(花ちゃん)

***********************************************************************************
* カテゴリー::[その他][開発環境][]                                              *
* キーワード: ,バージョン ,サービスパック , , ,                                  *  
***********************************************************************************
他の事で調べていたら、Visual Basic 6.0 Service Pack 6 累積的な更新プログラム が
発行日: 2012/08/16 付けで、更新プログラムがでていましたのでご紹介しておきます。

Microsoft Visual Basic 6.0 Service Pack 6 累積的な更新プログラム
http://www.microsoft.com/ja-jp/download/details.aspx?id=7030

SP6 以降でも色々サービスパックがでていますので、ご自分の環境を一度確認されるように
お勧めいたします。

尚、下記記事等も参考にして下さい。
http://hanatyan.sakura.ne.jp/patio/read.cgi?no=217

http://www.hanatyan.sakura.ne.jp/yybbs/read.cgi?mode=view2&f=38&no=46
メンテ
VB6.0 をWindows 7/8 上で使用した場合の不具合(VB6.0)  (No.4の個別表示) [スレッド一覧へ]
日時: 2013/08/03 14:27
名前: Woodman

***********************************************************************************
* カテゴリー:[開発環境][][]  
* キーワード: 64bit,Mscomctl.ocx , , , ,  
***********************************************************************************
1 問題の所在
 VB6のソースコードをプロジェクトごとコピーして使うことはよくあります。しかし、WinXP/7の32bitから64bitへコピーして読み込もうとすると、次のエラーが出る場合があります。
「D:\XXXX\MSCOMCTL.OCXを読み込めません。--プロジェクトのロードを続けますか?」
 現在のところ把握しているOCXはMSCOMCTL.OCXだけですが、どうもこのOCXはバージョンの問題があるようです。
2 問題の個所
(1) 32bitでのvbpファイル
次のように記述されている箇所があります。 
 Reference=*\G{00020430-0000-0000-C000-000000000046}#2.0#0#C:\Windows\system32\stdole2.tlb#OLE Automation
 Object={831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.1#0; MSCOMCTL.OCX
(2) 32bitのfrmファイル
 Object = "{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.1#0"; "MSCOMCTL.OCX"
3 対策
 かなり荒っぽいのですが、次のようにすると読み込める事が出来ました。
(1) 64bitでのvbpファイル
○「system32」を「SysWOW64」に変更する。 
 Reference=*\G{00020430-0000-0000-C000-000000000046}#2.0#0#C:\Windows\SysWOW64\stdole2.tlb#OLE Automation
○「#2.1#0」を「#2.0#0」に変更する。 
 Object={831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0; MSCOMCTL.OCX
(2) 64bitのfrmファイル
○「#2.1#0」を「#2.0#0」に変更する。 
 Object = "{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0"; "MSCOMCTL.OCX"
4 この投稿について
 なぜ32bitと64bitでこのような現象になるのか原因はつかめていません。ただ、Win7(64bit)でVB6の新規プロジェクトを作ってMSCOMCTL.OCXのコンポーネントを追加すると、前項(1)と(2)のようにファイルが作られるのでそれに倣ったらロードできたということです。
 仮に本投稿と異なって書いた場合、「ヘッダーが読めません。」などというエラーが出て先に進めないだけでした。
 Formが多数あったり、頻繁に32bitと64bit間をコピーする場合があるので、上記ファイルの問題箇所を変更するプログラムで相当数テストしましたが、ファイルなどが破壊されるなどの障害はありませんでした。ただし、あくまでも自己責任でお願いします。
メンテ
VB6.0 をWindows 7/8 上で使用した場合の不具合(VB6.0)  (No.5の個別表示) [スレッド一覧へ]
日時: 2013/09/21 05:52
名前: クッキー

***********************************************************************************
* カテゴリー:[その他][コンボボックス[]  
* キーワード: , , , , ,  
***********************************************************************************
Windows7以前に作成した、FM20.dllで定義されるComboBoxを含むプログラムを読み込もうとすると
プログラムロード中にエラーメッセージが表示されます。
Windows7も出始めの頃には発生していなかったのですが、最近のものでは使用できなくなっています。
Windows下のsystem32フォルダ内には、このdllが存在するのにダメです。
バージョンの違いによるものと思い色々とやってみましたが、結局解決策は見つからずでした。
メンテ
VB6.0 をWindows 7/8 上で使用した場合の不具合(VB6.0)  (No.6の個別表示) [スレッド一覧へ]
日時: 2013/09/22 10:39
名前: woodman

***********************************************************************************
* カテゴリー:[開発環境][フォーム]  
* キーワード: 閉じるボタン,win7 , , , ,  
***********************************************************************************
VB6(SP6)のIDEでフォームの右上「閉じるボタン」が一時的に機能しなくなる現象について
Win7 Professiona(SP1) 32bitにて見出しの現象が頻繁に発生する場合があります。プログラムでフォームをUnLoadすると機能したり、はじめから異常なく機能する場合もあります。EXEにすると問題なく動作します。
原因は不明です。
メンテ
VB6.0 をWindows 7/8 上で使用した場合の不具合(VB6.0)  (No.7の個別表示) [スレッド一覧へ]
日時: 2014/11/20 12:29
名前: woodman

***********************************************************************************
* カテゴリー:[開発環境][][]  
* キーワード:  64bit,Mscomctl.ocx, , , ,  
***********************************************************************************
Mscomctl.ocxのロードエラーについて
 今まで、Windows7 64ビットで何の問題もなかったVB6のプロジェクトファイルを読もうとすると、
  「オブジェクトライブラリが登録されていません」
とのエラーが出て困惑します。調べると、Mscomctl.ocxのロードエラーでした。
 前回、Windows7の32ビットから64ビットへの移行について投稿しましたが、今度は64ピットOSだけの問題です。
 当該OCXはきちんとレジストリに登録されており、VB6も管理者権限で実行されています。そこで、新たなプロジェクトを作り、「コンポーネントの追加」で
  Microsoft Windows Common Controls 6.0(SP6) にチェックを入れてOKをすると、
ファイルが見つかりません」というエラーがでました。
  結論を申しますと、当該OCXは頻繁に更新されるので、Regtlib.exeでタイプライブラリを再登録する必要があるようです。
 投稿者のOCXは投降後の2014.3.31に更新されていました。しかし、Win7 32ビットでは再登録をしなくても問題なく動いていました。
 64ビットでの具体的対応として、コマンドプロンプトを管理者権限で開き、次のコマンドを実行することで問題が解決されました。
  > C:\Windows\regtlib.exe C:\Windows\sysWOW64\msdatsrc.tlb
本件に関する記事が以下のURLに出ています。
http://from.hatenablog.jp/entry/2013/08/31/113432
メンテ
Windows 8.1 でプリンター関係のエラーが発生したら(VB6.0)  (No.8の個別表示) [スレッド一覧へ]
日時: 2015/03/15 16:34
名前: VBレスキュー(花ちゃん)

***********************************************************************************
* カテゴリー:[印刷関係][周辺機器][]  
* キーワード:プリンター ,エラー ,通常使うプリンター , , ,  
***********************************************************************************
Windows 8.1 でプリンター関係のエラーが発生した場合、下記の事項を確認してください。
(プリンターの事ですから VB6.0 に限らず、VB2005以降でも同様かと。)

1.通常使うプリンターの設定が正常なプリンターに設定されている、どうか?。
2.コントロールパネルでプリンターの設定をみた場合、同じプリンター名のドライバーが重複して登録されていないか?。

今年(2015年)に入って久しぶりに印刷しようとしたら、通常使うプリンターが変更されていて、同じ名前のプリンターが
重複して登録されていたといった事象があった。

特に変更や再登録等した覚えもないのに、[OneNote 2013 に送る]等も2個登録されていた事からも Windows Update
がからんでいるのかなと推測しています。

下記の方も同様の現象かと思われます。

タイトル : Windows8.1環境での印刷でエラー482
記事No : 16082
投稿日 : 2015/03/08(Sun) 21:02
http://hanatyan.sakura.ne.jp/vb60bbs/wforum.cgi?mode=allread&no=16082&page=0




メンテ

Page: 1 |

 投稿フォーム               スレッド一覧へ
題  名 スレッドをトップへソート
名  前
パスワード (記事メンテ時に使用)
投稿キー (投稿時 投稿キー を入力してください)
コメント

   クッキー保存   
スレッド一覧へ