スキップしてメイン コンテンツに移動

8月14日配信のWindows Updateによって引き起こされる、VB6のArray()関数の不具合について

Windows Update後に、VB6で開発したプログラムにて「エラー5:プロシージャの呼び出し、または引数が不正です」のエラーが発生するとの報告がありました。

VB6のArray()関数の挙動が、Windows Updateによって変わってしまったことが原因のようです。
以下のプログラムにて、17行目で上記エラーが発生します。

01: Option Explicit
02: 
03: Sub Main()
04: 
05:     Dim a As Variant
06:     a = GetArray()
07: 
08:     MsgBox CStr(UBound(a))
09: 
10: End Sub
11: 
12: Private Function GetArray() As Variant
13: 
14:     Dim a As Variant
15:     a = Array()
16: 
17:     GetArray = a
18: 
19: End Function

定義済みの変数に空っぽの配列を定義し、それをユーザー定義関数の戻り値にセットするとエラーとなってしまうようです。
今まで、私の知る中で、Windows UpdateによってVB6の標準関数の挙動が変化してしまったのは初ではないでしょうか。

VB6だけではなく、Excel VBAでも同様の現象が発生することを確認しました。
ただし、WSHのVBSではエラーが発生しません。

対応策としては、空っぽの配列の変数に代入する方法を、以下のように変更します。

15:     a = Split("/", "")

Array()で空っぽの配列を代入するかわりに、Split()関数にて空配列が代入されるようにします。


コメント

このブログの人気の投稿

続、問題: 露骨な性的コンテンツに関するポリシーへの違反

昨日の書き込みの続きです。
Googleから返信が来ました。
…が、その内容は、以下のとおり。


五十嵐様
Google Play チームにお問い合わせいただきまして、誠にありがとうございます。

ステータス: Car price search , (org.ikachi.carprice)- Google Play での公開停止中 お送りいただいたお申し立ての内容を審査いたしましたが、依然としてお客様のアプリは Google Play ポリシーに違反していると判定されました。アプリの具体的な問題と、Google Play にアプリを再度公開するための手順について、以下に詳しくご説明いたします。
手順 1: アプリのポリシー違反を修正する
審査におきまして、お客様のアプリが露骨な性的コンテンツに関するポリシーに違反していることを確認いたしました。ポルノなど、露骨な性的コンテンツを含むアプリ、または推進するアプリは許可されません。一般に、性的満足を意図したコンテンツやサービスは認められておりません。
詳細と一般的な違反の例については、露骨な性的コンテンツに関するポリシーのページをご参照ください。
たとえば、お客様のアプリには現在、わいせつまたは冒とく的なコンテンツという違反が含まれております。 アプリを更新して、この問題 を修正していただきますよう、お願いいたします。また、お客様のアプリが、デベロッパー プログラム ポリシーに記載されている他のすべてのポリシーに準拠していることを再度ご確認ください。アプリが再度ポリシーに違反した場合、追加の措置を取らせていただくことがございます。 手順 2: 更新したアプリまたは APK を送信する
アプリのメタデータのアップデートを送信する手順は、次のとおりです。
Play Console にログインポリシー違反のあるアプリを選択[ストアでの表示] > [ストアの掲載情報] を選択ポリシーに準拠するようアプリを修正[アップデートを送信] または [アプリを再送信] をクリック 更新した APK を送信する手順は、次のとおりです。
チェックリストを確認して APK を準備Play Console にログインポリシー違反のあるアプリを選択左側のメニューで [リリース管理] > [アプリのリリース] を選択作成するリリースタイプの横にある…

Microsoftという会社②

Microsoftの創業は、1975年。創業からすでに40年以上が経過している、IT業界としては古い企業です。
 創業者は、ハーバード大学をドロップアウトした天才プログラマー、ビル・ゲイツ。MS-DOSというコマンドラインベースのOSとBASICを武器に、Microsoftはソフトウェア会社として急成長しました。そしてWindows OSとMicrosoft Officeにより、その地位を盤石なものにします。
ビル・ゲイツは、すさまじいまでの仕事人間だったようで、そのあたりは三田出版会1999年10月出版の「帝王の誕生-マイクロソフト最高経営責任者の軌跡」をご一読いただければと思います。
 現在、Microsoftの舵を取るのは、2014年に3代目のCEOに就任したサティア・ナデラです。
サティア・ナデラは、40年の歴史を持つMicrosoftの文化を変えることから始めました。それまで、Windows Server製品を脅かす存在だったオープンソース・ソフトウェアのLinuxや、長年のライバルであるApple社と手を組むことを決意しました。これらの製品は、決して競合製品ではなく、Microsoftのアプリやサービスを使ってくれる提供先だという考え方に変わったのです。現在では、さまざまなデバイスにてMicrosoft Office製品を使うことができるようになりました。これは、我々ユーザーにとっては、非常に喜ばしい決断だったのではないでしょうか。
 今後も、Microsoftの動向に期待大です。