データベースに接続できない,どうしたらよいか?

ローカルホストのバックアップイメージとXAMPPのバージョンはほぼ一致していると思われるのだが,データベースに接続することができない.なにか設定に不備があると思われるのだが調整できるだろうか?もし手こずるようなら完全に開始地点まで戻って一から組み直さなくてはならないかもしれない…

D:\xampp\mysqlにはMySQL5.0からINIファイルをコピーしている.この中のmy.iniを見ると

basedir=”C:/MySQL5.0/”

のようになっているのでMySQL5.0をCドライブの直下に置いてみた.ダメだ.何も変化しない.winmysqladmin.exeを起動しても開いてすぐに閉じてしまう.mysqlは最初にmysql\bin\my.cnfを見ているのでまずこれをチェックしてみよう.このファイルでは以下のような設定になっている.

[mysqld]
basedir=”D:/xampp/mysql”
tmpdir=”D:/xampp/tmp”
datadir=”D:/xampp/mysql/data”

Driver 3.51 Not Found というエラーはネットにも情報がある.ODBCに関わるもののようで 3.51 というのはバージョン番号のようだ.windows\system32にはodbc32.dllというファイルはあるが,myodbc3.dllというファイルは見当たらない.mysql\binにはlibmysql.dllとmsvcr71.dllしかないのでとりあえずこれをsystem32にコピーしてみよう.ダメだ!setup_xampp.batを実行してみる.⇒以下のエラーを出して終了してしまう.

Sorry, but … nothing to do!

xamppはアンインストールしてあるはずなのだが…少なくともプログラムと機能にはアイコンは出ていない.どうもかなり厄介な話になってきたような気がする.OSを再起動して動作が多少変わった.xamppのコントロールパネルが開けるようになった.しかし,SQLMyAdminが閉じてしまうという状態には変化がない.

ユーザからメールが入ってしまった!asikaga48 さんという方だ.いや,新規ユーザかと思ったが,古くからのユーザだ.2月18日発信 宛先はbabalabos@outlook.jpだ.Ver2.0.0.789 をWindow 10 Ver 1903にインストールしようとしてレジストリ登録でエラーが起きているというクレームだ.ともかく返事だけは書かなくてはならない.まず,このバージョンが安全なものかどうかをチェックしておこう.ネット復帰後にリリースしたものならひとまず安全だが…

いや,どうもかなり古そうだ.V2.0.1.181が2016/11/16なのでそれ以前ということになるとすればネット遮断以前ということになる.ネット復帰は2018年12月8日だが,例のセキュリティ上のトラブル(babalabos@zelkova-tree.net アカウントからのメールの大量発信)が発生したため一時的に閉鎖しているはずなのでそのころの記録はログには残っていないはずだから,メールをチェックしなくてはならないのだが…Yahooアカウントに2019年2月8日Tamoさんからメールが入っているがそれ以前は連絡用には使っていない.

だとするとoutlookを使っていることになるが,outlook.comというアカウントはすでに廃止してしまっている.outlook.jpには通知は入ってくるが発信にはほとんど使っていないはずだ.実際ここに入っているのはFacebookからのお知らせだけだ.メイン機のLive Mailに入っていた.zekova-tree.netの公式アカウントを使って発信していたようだ.これによると,以下の10件をウィルス汚染ファイルと認定しているので,Ver2.0.0.789 は一応それからは外れていることになる.

  • SetupBetaForMe.msi
  • Ver 1.9.8.11
  • Ver 1.9.9.03
  • Ver 1.9.9.57
  • Ver1.9.9.63
  • Ver2.0.0.000~2.0.0.035
  • Ver2.0.0.087
  • Ver2.0.1.175
  • Ver 2.0.1.335
  • Ver 2.0.1.512
  • このメールは2018年12月17日に50人程度のパワーユーザにだけ送ったものでこの件に関してはまだネット上では告知していない.これらのウィルスは開発機ないしローカルバックアップ上で検出されたものであり,アップロードしたネット上のファイルが実際に汚染していたと断定することはできないが,ネット上のファイルはすでに全量破棄されてしまっているので確認することはできない.

    outlook.jpのメアドはマイクロソフトアカウント用に登録しているもので実際には使っていないが,タブレットで読み書きできるようにしようとしたが,「アカウントを作成しています」を出したまま抜けられない状態になってしまった.どうもパスワードを間違えたのではないかと思う.マイクロソフトアカウントのパスワードとoutlook.jpのパスワードは同じではない.一旦パネルを閉じるとすでにそのアカウントは登録されていてログインできた.⇒アカウントの作成ではマイクロソフトアカウントのパスワードが必要だ.申し込んだつもりはまったくないのだが,こんなものが入ってきた.

    So much, for so less! 24 Hours OFFER! をお試しいただきありがとうございます。 心より感謝いたします。毎年¥1,400の請求が発生するという.一週間試すのもよいが忘れてしまいそうなので速攻で止めておこう.これはどうもOneDriveのことのようだ.OneDriveは昔は無料だったような気もするが… どうもよく分からない.マイクロソフトのロゴが出ているがYellow Elephant Productionsという名前も表示されている.まぁ,このクレジットカードは使っていないのでこのまま放置してみよう.⇒キャンセルしたが,2020/1/16の請求は残っている…

    YK氏からは2019/07/13に第一報が入っている.このときはWindows 10 Update 1903 May をクリーンインストールしたマシンにインストールされているようだ.クリーンインストールではなくWindows Update の環境ではインストールできたという.今回のレポートは Ver 1909 だが,やはりクリーンインストールでインストールできなかったというものだ.どういう仕掛けになっているのか分からないがかなり厄介そうな話だ.何らかの理由でUpdate とクリーンインストールの動作が異なっているのだろう.Updateの場合には元のDLLが温存されているために動作しているものと思われるが,おそらくどちらのバージョンにも対応する版をリリースするのは難しそうな気がする.

    YK氏のレポートではこのような現象はネット上でも報告されていてMSVCP60.DLLをダウンロードしてインストールで解決したという記事があり,試してみたがMSVCP60.DLLはすでに存在していて置換することもできなかったとある.

    「MSVCP60.DLL」が原因でソフトをインストールできない。
    https://answers.microsoft.com/ja-jp/windows/forum/all/msvcp60dll%E3%81%8C%E5%8E%9F%E5%9B%A0%E3%81%A7/3f79d234-2070-439d-ba1b-d6b9c507d3ea

    というネット記事ではアプリインストール時に

    「ファイルに次のエラーが発生しました c:\WINDOWS\SysWOW64\MSVCP60.DLL. アクセスが拒否されました」。

    のようなエラーが出ているのでおそらく今回の件はまた別の問題であるように思われる.このDLLはCのランタイムライブラリでそれをローカルに配置することで解決しているようだが,いまだにこのような「DLLの配置問題」が解決していないのだろうか?いずれにしてもあれこれ手を拡げていると何をやっているか訳が分からなくなってしまうのでYK氏にはいましばらくお待ち頂くしかない.

    どうなっているのか?よく分からないがXAMPPのコントロールパネルは立ち上がっている。隠れているだけだ。しかし、このパネルからMySQLを起動できない。Svcにチェックが入っていてBusy…と表示される。チェックを落としても戻ってしまう。⇒動作が少し変化している。http://localhost でXOOPSのページが開くようになった。⇒MySQL5.0をCドライブに移しているが、むしろxampp/my.iniを直した方がよい。状況は変わらない。MySQLは走っていない。

    サービスとして登録されているのはMySQL 5.0だ。どこかでMySQLをサービスとしてインストールしたのが間違いのもとだったのではないか?もう一度インストールからやり直してみることにしよう。OSを再起動したらBrYNSvcのブロックが頻発するようになった、これは何だろう?BRLMW03A.DLLが反復ブロックされている。これはBrowny02というアプリケーションのようだ。MySQL Server 5.0をアンインストールした。

    BrYNSvcはブラザーのプリンタステータスモニタのようだ。BrYNSvcサービスを止めることでエラーの反復は収まった。もう一度作り直してみよう。2007 SUMMER には4つフォルダがある.このうち3番目の 2007-09-02 XOOPS Eclipse 導入版から xampp-win32-1.6.3a.zipを取り出してその中のxamppをドライブDにコピーする.また2番目の 2007-08-28 XOOPS update から,①data, ② XOOPS, ③xoops_trust_path をDにコピーする.Dドライブにあるそれ以外のフォルダはすべてEドライブに移してとりあえずDドライブをローカルサーバ専用とした.

    xampp\apache\conf\httpd.conf では DocumentRoot と <Directory>だけを変えた.XOOPS\mainfile.php では XOOPS_ROOT_PATH と XOOPS_TRUST_PATH を書き換えた.setup_xampp.bat で xampp をインストールすると apache, MySql, FileZilla, Mercury が使えるようになる.xampp のコントロールパネルから MySql を起動するとパネルが開いて閉じる.このパネルはタスクバーからShow me で表示することができる.Driver 3.51 Not Found のエラーが出ている.ODBCは使っていないので多分このエラーは無視してよいと思う.

    疑問点として Local Host Name,Local User Name, Local IP Address があらかじめ定まっているということがある.それぞれ FIREBIRD, babalabo,192.168.1.101 と表示されている.どこでこれらを設定しているのか?xampp フォルダの中にはFireBirdというテキストはかなり見かけるが babalabo は見当たらないところから考えると,どうもこれらの値はシステムから取り出しているのではないかという気もするのだが… このコンピュータのマシン名はFireBirdだし,ユーザ名は babalabo だ.IP も自動的に割り当てられたものではないだろうか?これらの値は読み取りだけでまったく設定することはできない.前に使っていた MySqlAdmin はもっと使い易いものだったような気がするのだが…あれはロリポップ!が提供しているサービスだったのだろうか?

    いや,ロリポでは「データベースはサポート範囲外」だから何もしてくれていないはずだ.出てきた!phpMyAdminだ.これはすでにxamppの中のコードなのでMySQL自体は動いていると考えてよいのではないだろうか?いや,phpMyAdmin はmysql とは独立/同列のカテゴリだ.以下のような警告が出ている.

    Your configuration file contains settings (root with no password) that correspond to the default MySQL privileged account. Your MySQL server is running with this default, is open to intrusion, and you really should fix this security hole.

    まずこれをフィックスしなくてはならない.

    昨日の続き:自家サーバー上でサイトイメージを復元する

    apache はすでに開発機上で走っているが,サイトイメージをブラウザで開こうとすると下記のようなエラーが発生する.

    Parse error: syntax error, unexpected ‘new’ (T_NEW) in C:\XOOPS\core\XCube_Root.class.php on line 496

    これはPHPのパーサーが出していると思われるのでもう少し古いバージョンのXAMPPを使ってみることにする.現在展開しているサイトイメージ XOOPS は2007年ころのものだ.2007-08-27 BACKUP-2007-SUMMER というバックアップにはapacheやMySQLが単体で入っているのでこれを動かしてみたい.できるだろうか?このフォルダをBACKUP-2007とリネームしてDドライブに置いてみる.このフォルダにはApache2.2のバイナリが入っているが,「インストール」は実行しなくてはならないようだ.msiが残っていれば自動でインストールできたかも知れないのだが…

    どうもかなりややこしい話になってきたような気がする.このパッケージの中のbinフォルダには10個EXEが入っているが,Apacheというアプリは入っていない.ApacheMonitor.exeを実行するとXAMPPのコントロールパネルが開いてしまう.ともかくXAMPPをアンインストールしておこう.

    バックアップの中にDownload Packageというのがあり,その中にAppacheのmsiが入っていた.しかし,これだけでは不十分だ.PHPやPerl, MySQLなども追加インストールしなくてはならない.このフォルダには12個もその種の圧縮ファイルが入っている.何かもう少しましな手はないものだろうか?

    2007-09-02 XOOPS Eclipse 導入版というフォルダにxampp-win32-1.6.3a.zipというのが入っている.これを解凍したフォルダにはsetup_xampp.batがあるのでこれでいけそうだ.コマンドプロンプト上で実行すると何度かカスペルスキーにブロックされたが解除して一応インストールできたようだ.その後もapache_start.batで数えくれないくらいのモジュールがブロックされている.何か一括して許可するような手続きはないものだろうか?ダメだ.いくらやっても切りがない.apacheのモジュールは77個もある.カスペルスキーを止めるしかなさそうだ.実行できた!ただし,もう一つmysql_start.batも実行する必要がある.

    image

    日本語を選択して以下の画面になる.

    image

    問題なく動作しているようだ.カスペルスキーの「安全なアプリケーションだけを実行」を有効にして動作を見てみよう.インストール済みソフトウェアおよび実行ファイルの解析が始まった.どうもかなり時間がかかりそうだ.⇒いや,意外に簡単に完了した.apacheとMySQLを再起動してもブロックされない.今後の作業はすべてDドライブでやることにしてCドライブに置いてあるXOOPSを移して,D:\xampp\apache\conf\httpd.confを書き換えてみよう.DocumentRoot “D:/xampp/htdocs”を”D:/XOOPS”に変えてみる。xampp_start.exeで以下のパネルが起動できる.

    image

    ブラウザ上でhttp://localhost を開いて以下のエラーになった.

    Warning: include(C:/XOOPS/include/common.php) [function.include]: failed to open stream: No such file or directory in D:\XOOPS\mainfile.php on line 102
    Warning: include() [function.include]: Failed opening ‘C:/XOOPS/include/common.php’ for inclusion (include_path=’.;D:\xampp\php\pear\’) in D:\XOOPS\mainfile.php on line 102
    Fatal error: Class ‘XCube_Root’ not found in D:\XOOPS\header.php on line 17

    これはXOOPSをCドライブからDに移動したためだ.mainfile.phpでXOOPS_ROOT_PATHを切り直さなくてはならない.今度は別のエラーが出た.

    Fatal error: Unable to connect to database in D:\XOOPS\class\database\databasefactory.php on line 34

    データベースを初期化していないのだから当然だが,どこで何を設定すればよいのか?mainfile.phpには

    • define(‘XOOPS_DB_PREFIX’, ‘dc2b69’)
    • define(‘XOOPS_SALT’, ‘6852d455’)
    • define(‘XOOPS_DB_HOST’, ‘localhost’)
    • define(‘XOOPS_DB_USER’, ‘xoops’)
    • define(‘XOOPS_DB_PASS’, ‘babalabo’)
    • define(‘XOOPS_DB_NAME’, ‘xoops’)
    • define(‘XOOPS_DB_PCONNECT’, 0)

    のような定義がある.まずいことに,このバックアップにはSQLのバックアップが含まれていないようだ.BACKUP-2007にはMySQL5.0というフォルダがあり,この中のdataというフォルダにはxoopsというフォルダがあり,その中に*.frm, *.MYD, *.MYIなどのファイルが大量に入っている.これらにアクセスできるようにすれば何とかなりそうだ.xamppの中のmysqlというフォルダもほぼ似たような構成になっているので,ここにdata\xoopsをコピーしてみることにしょう.

    なぜだろう?XAMPPのコントロールパネルが開けなくなってしまった.xampp_start.exeではコマンドプロンプトが開いてしまう.別にxampp-control.exeというものあるがこれを開こうとすると

    image

    のようなパネルが出る.xampp-control.exeを単独で起動することはできるが,パネルが表示されない…これはあとで考えることにして元に戻ろう.MySQLではmy.iniというファイルがあったはずだが,どうなっているか見てみよう.BACKUP-2007のMySQL5.0の直下にはiniファイルが7本入っているが,xampp\mysqlにはまったく入っていない.mysqlをリネームしようとしたが,拒否された.立ち上がっているタスクはないのだが…

    apacheとMySQLは独立に起動されそれらを統括しているのはXOOPSなのだから,mainfile.phpで対処できるのではないだろうか?いや,xamppをインストールしたときに位置関係は決まっているはずだ.仕方ない.MySQL5.0の中のiniファイルだけをmysqlにコピーしてみよう.ダメだ.そればかりかwinmysqladmin.exeが起動できなくなってしまった.このアプリは一度大きいパネルを開いたあとログインパネルを開くような動作になっていたのだが…実行すると

    Driver 3.51 Not Found

    というエラーをチラッと出して閉じてしまう.localhostnameがFIREBIRDと表示されるのも気になるところだ.スクリーンショットは取れた.

    image

    どうももう一度やり直してみるしかなさそうだ.

    墓場に入るのはまだ早い、棺桶舟から脱出だ!Go Onward!

    ともかく始めよう。タブレット(TAMOZ,スクリーンキーボード)にも Open Live Writer をインストールしたが,ログはやはりキーボードのある 2 in 1(Black Hawk) で付けることにする.しかし,BHではできるだけオフライン編集してネットには出ないようにしたい.ネット記事が必要なときはMozuで読むことにする.難点はMozuに直接USBメモリを装着できないのでLAN経由で受け渡しするか,ないしBHで取り出すしかないという点だ…

    今日の閲覧者数は76もある.なぜだろう?平均は43人/日になっているのでまぁ妥当なところだが…いや,それどころか昨日の訪問者は17人しかいない.これもあまり見ない数字のような気がする…開発機にはすでにXAMPPをインストールしてある.サイトイメージの最新版は2015-03-30というのしか見つからなかった.ともかくこれをローカルで開けるようにしなくてはならない.

    バックアップに自家サーバーというのがあったのでまず,これを試してみることにする.中には3つフォルダが入っている.MODULES, THEMES, XOOPSだ.CドライブにコピーしてMODULES にはXOOPSのモジュールが入っている.THEMESはそのテーマファイルだ.XOOPSの中身がサイトのイメージに一番近いような気がするのだが…いや,ちょっとどうも少し違うような気がする.

    YOMOGI 2015-03-30 は明らかにサイトからダウンロードしたものなのでむしろこちらの方が間違いないと思う.このフォルダには①webと②xoops_trust_path,およびSQLのバックアップが一つ入っている.これをサイトのrootに見立ててzelkova-tree.netとしてみよう.XAMPPのコントロールパネルからapacheのhttpd.confを開いてDocumentRootと<Directory>をC:/zelkova-tree.net/webとしてみよう.これでlocalhostにアクセスすると以下のようなエラーになる.

    Warning: require(/home/users/1/hungry.jp-yomogi/xoops_trust_path/modules/protector/include/precheck.inc.php): failed to open stream: No such file or directory in C:\zelkova-tree.net\web\mainfile.php on line 108
    Fatal error: require(): Failed opening required ‘/home/users/1/hungry.jp-yomogi/xoops_trust_path/modules/protector/include/precheck.inc.php’ (include_path=’C:\xampp\php\PEAR’) in C:\zelkova-tree.net\web\mainfile.php on line 108

    どこかで/home/users/1/hungry.jp-yomogiを切っているところがあるはずだが,どこにあるのだろう?多分フォルダを全文検索してしまうのが一番早いのではないかと思う.何を使えばよいか?窓の杜で探してみよう.Devasというのがあった.何となく聞き覚えがあるような気がする.アップロードしようとしたらエラーになってしまった.

    image

    このエラーは以前にも経験したことがあるような気がする.https://zelkova-tree.net/WordPress/xmlrpc.php forbidden 結構手こずったような記憶があるが…どうしたらよいか?一度閉じてもう一度開いてみよう.ダメだ!かなりまずいことになってきた.まず,ログインしてネット上で更新できることを確認しておこう.更新はできた.ただし,画像のアップデートは手間なのでパス.いや,かなりおかしい.アプリを一度閉じて再度開いてからサイトからページをダウンロードしたところ画像が入ったものが降りてきた.どういうことだろう?

    公開しようとすると同じエラーになる.どうもローカルに保存しているファイルとすれ替わっているようだ.サイト内検索で「WordPressへの投稿で xmlrpc.php 403 forbidden エラーが起きる」という問題が起きていたが,解決した.という記事が出てきた.2019年1月27日だ.それによれば,

    ウェブサーバーの WAF(Web Application Firewall) が効いていたためだ.ロリポップのユーザ専用ページにログインしてセキュリティ→ WAF設定 → ログ参照からシグネーチャを取り出し,WordPressのダッシュボード→ SiteGurd→ WAFチューイングサポート でシグネーチャを設定することで動作するようになった.

    とある.⇒ダメだ.手順は間違っていないと思うが通らない.IPアドレスが大幅に変化しているところも気になるところだ.!通った!値を上から取り出していたが,新しいデータは最下行に入ってくる.Devasをダウンロードしてインストールした.このパッケージにはEXEが生で入っている.これを実行したところ,驚くべきことに以下のようなパネルが出た.⇒なぜだろう?スクリーンショットの画像イメージがトレーに入ってこない.ペイントにはペーストできるのだが…テキストはコピペできる…かなりおもしろくない…

    PC間のデータ転送ではMouse Without Bordersを使っているが,これまでにも何度もやっているはずだ…こちらでもペイントで受けるようにしたら入ってきた.もしかしたらそういう手順しかなかったのかもしれない…

    image

    不思議なのは検索文字列のボックスに

    「require(/home/users/1/hungry.jp-yomogi」

    という文字列が最初から入っているという点だ.どうしてこんなことが起こったのだろう?確かにこの文字列は上の方でコピーはしているが,その後いろいろな文字列や画像がトレーには入ってきているはずなのにそのものズバリ検索文字列に収まっているというのはまったく考え難い.このフォルダには23225本のファイルが入っているので全文検索にはかなりの時間が掛かっている.ヒットしたファイル数はカウントされていないがかなりの数だ.

    とりあえずweb\mainfile.phpを直してみよう.以前はこのような作業を行うときにはNo Editorというエディタを使っていたはずなのでこれも取り寄せておこう.NoEditorはXP/Vista/Windows 7までしかサポートしていない.動作するだろうか?Vectorの動作報告では多少の問題はあるが使えるということになっているようだ.mainfile.phpでは以下の3点を修正した.

  • XOOPS_ROOT_PATH
  • XOOPS_TRUST_PATH
  • XOOPS_URL
  • こんどはParse errorというのが出てきた.

    Parse error: syntax error, unexpected ‘new’ (T_NEW) in C:\zelkova-tree.net\web\core\XCube_Root.class.php on line 538

    どうもちょっと追い切れない.ローカルで使っていたパッケージがあればよいのだが…EXODUS\2007 SUMMERというのがある.ここには開発環境を整備していたころのイメージが残っているように思われる.この中に2007-08-27 BACKUP-2007-SUMMERというフォルダがあり,その中のXOOPSには残っていた.これをCドライブの直下に移動して動かしてみよう.⇒ダメだ.行番号は違うがまったく同じエラーが出てしまう.

    Parse error: syntax error, unexpected ‘new’ (T_NEW) in C:\XOOPS\core\XCube_Root.class.php on line 496

    行番号の違いはおそらくXOOPSのバージョンの差異と思われる.このフォルダの中にはT_NEWという文字列は現れない.とすればこれはXAMPPの用語なのではないだろうか?だとするとXAMPPのバージョンが新し過ぎるということになるかもしれない.この頃はおそらくまだXAMPP導入以前で,apacheやMySQLを単体でインストールしていたように思われる.BACKUP-2007-SUMMERの中にはこれらが個別に入っているのでまずこの場所で全体を動かすことを試みてみよう.

    XAMPPの導入とEclipseの使用開始はほぼ同時期であるように思われる.Eclipseが使えるようになるとPHPをデバッグできるようになるが,この導入も結構手が掛かるので一先ず置いて,ともかく最初の糸口をこじ開けなくてはならない.

    大型の台風10号の接近で天候は荒れ模様となっている

    午前11時起床,雨.9時ごろから雷鳴を伴う豪雨になっていたが,一時休憩に入ったようだ.朝食は抜き.VS2005からVS2017の変換がなかなか収束しない.対処したところも暫定対策で本格的に稼働するまでには相当な紆余曲折が予想される.ともかく一歩づつ進むしかない.

    オブジェクト配列を廃止してオブジェクトの配列に切り替える

    午前10時起床,晴れ.大型の台風が本土接近しているという話だが,今のところはカンカン照りが続いている.朝食は薄切りパン2枚にレモンジャム.今回のレモンジャムは作り残って粒が残ってしまった.最後に残ったオブジェクト配列の問題に掛かるとしよう.この修正をパスして最終版のデバッグに転回するという選択肢もあり得るが,いずれは対策しなくてはならない部分であり,本番前のリハーサルを兼ねて試してみることにする.

    オブジェクト配列を使っているのはCardBox.vbだけと思われるが,17個も実装されているので,それらを一つづつ片付けてゆくしかない.CardBox.vbを開くと「メインディスプレイのスケールは125%に設定されています.100%のスケールでVisual Studioを再起動します.」が表示され,再起動を実施すると,今度は「自動スケールがオフになっています.WPF/UWP XAMLデザイナーが正しく表示されない可能性があります.自動スケールでVisual Studioを再起動します.」が表示されて堂々巡りになってしまう.スケール値を設定している場所が見つからないので放置とする.修正が必要となるオブジェクトには以下がある.

    1. Nengo  ComboBox Cardbox
    2. Check1  CheckBox Cardbox
    3. Yoshi  CheckBox Cardbox
    4. KodomoSeibetu  ButtonArray Cardbox
    5. adate   Panel Cardbox
    6. cay TextBox  Cardbox
    7. mei  TextBox Cardbox
    8. nenrei  TextBox Cardbox
    9. nonth  TextBox Cardbox
    10. sei  TextBox Cardbox
    11. xear  TextBox Cardbox
    12. address  TextBox Cardbox
    13. Kno  TextBox Cardbox
    14. Yusen_merge CheckBoxArray MergeName
    15. mei_merge TextBoxArray MergeName
    16. regno_merge TextBoxArray MergeName
    17. sei_merge TextBoxArray MergeName

    いや,どうもこの修正は思ったより大変だ.CardBox.vbフォームにはあらかじめ,nengo0~11のオブジェクトが配置されている.これをNengo[]という配列で統一的にアクセスできるようにしているのだが,オブジェクトの配列で個別のセルを異なる位置に配置するということができるのだろうか?いや,発想が反対だ.多分現在の実装をあまり改変せずに対応できるはずだ.つまり,①フォームのロード時にオブジェクトの配列を生成する,②SetIndexの代わりにオブジェクトを配列に代入する,という手順でよいのではないだろうか?

    Nengoのオブジェクト配列からオブジェクトの配列への転換は大体できたが,オブジェクト配列はイベントを受けられるようになっているのに対し,オブジェクトの配列ではそれができない.対処できるだろうか?NengoではLeaveとSelectedIndexChangedの2つのイベントを処理している.これを個別オブジェクトのイベントハンドラから起動するようにするというのもありがたくない話だ.オブジェクトの配列は結局隠しオブジェクトになってしまうから,明らかにそれ自体のイベントというのはあり得ないように思われる.しかし,いまのところそれ以外の方法はない.とりあえず,イベントハンドラーはすべてコメントアウトして切り抜けておく.

    SetIndexを実行している行をすべて書き換えて,InitializeCardBoxとInitializeMergeBoxに集約したが,まだまだ山のようなエラーが出ている.

    1. VB6.FixedLengthStringは廃止されている ⇒ これを使っているWriteProtect関数には疑問があるので暫定的に止めておく
    2. VB6.TwipsToPixelsXは廃止されている ⇒ この関数はLoadWndRectから呼び出されている.前回終了時のフォームサイズはTwips単位でレジストリに格納されている.⇒暫定的にTwipsToPixelsXとTwipsToPixelsYという関数を作って呼び出すようにした.この逆関数PixelsToTwipsX/Yも同様とする
    3. VB6.CopyArrayは廃止されている ⇒ 暫定,Cloneを使う
    4. VB6.FontChangeSize,VB6.FontChangeBold,VB6.FontChangeItalic,VB6.FontChangeUnderline,VB6.FontChangeStrikeout,VB6.FontChangeNameは廃止されている ⇒ Font.SizeはReadOnlyで書き込むことができない.

    オブジェクト配列はすでに廃止されている

    午前8時半起床,晴れ.朝食抜き.VBを除く DLL, GC, OCX の主要3コンポーネントはすでにエラーなしでビルドできるようになっているが,VBのところで頓挫している.2019/01/08 でも2010から2017 への移行というのを実施している.ほぼこのときのログの記述に沿って進行したのだが,前回はVBではほとんど問題なくスルーすることができた.この作業に掛かる前にメイン機がインターネットに接続してしまうという問題を見ておこう.

    現在メイン機には2つのWi-Fiルータが接続されている.LTEのルーターGL04PとWIMAX2のルータSPWNだ.LTEルーターはUSBでPCに接続している.前者は回線契約が切れているため,ネットにアクセスすることはできない上,LANのハブとしても使われていない.単純にPCがWIMAX経由でネットに接続するのを防止するためのロックとして使っているだけだ.このためにはLTEの接続優先順位がWIMAXより高い必要があるが,なぜか逆転してしまっている.下記を参考にWi-Fiの優先順位を変更してみた.

    Windows 10 パソコンでWi-Fiの接続優先順位を設定する手順

    コマンドラインプロンプトで以下を実行するだけで切り替えできる.

    netsh wlan set profileorder name=ルーター名 interface=インターフェース名 priority=1

    ただしインタフェース名にスペースが入っているとエラーになるので,Wi-Fi 2からWi-Fi2にリネームした.インターフェース名の変更はネットワークとインターフェース→ネットワーク接続で実行できる.GCをビルドして以下の警告が出た.

    1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets(2729,5): warning MSB3284: タイプ ライブラリ “f10efde4-db94-11d2-b863-289605c10026” バージョン 1.0 のファイル パスを取得できません。ライブラリは登録されていません。 (HRESULT からの例外:0x8002801D (TYPE_E_LIBNOTREGISTERED))

    2019年1月18日のログにはこれに対処するために,VS2017をフルインストールしたとある.現行の開発環境はこのときとまったく同じはずだから,特に不足するものはないはずなのだが… 実際すべてのコンポーネントがインストール済になっている.修復インストールを試してみよう.完了したが,状況には変化がない.DLLでも同種の警告が出ていた.

    2>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets(2729,5): warning MSB3284: タイプ ライブラリ “f10efde4-db94-11d2-b863-289605c10026” バージョン 1.0 のファイル パスを取得できません。ライブラリは登録されていません。 (HRESULT からの例外:0x8002801D (TYPE_E_LIBNOTREGISTERED))

    ソースコード画面のユーザインタフェースがかなり変わった.C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets が前面に出ていて他のファイルにタブで切り替えることができない.以前の設定をインポートしてみる.エラーが2件発生した.

    設定はインポートされましたが、エラーが発生しました。

    エラー 1:  ‘拡張機能と更新プログラム’ の設定のインポート中にエラーが発生しました [コード 5302]。
    エラー 2:  ‘CoffeeScript’ の設定のインポート中にエラーが発生しました [コード 5297]。

    どうも設定の選択を誤ったようだ.今まで使っていた設定は保存されていない.どこかにあるはずだが… 拡張子は .vssettings だ.SDドライブに一つ入っていたが,エラーが発生して移行できない.仕方ない.作り直すことにしよう.

    ZelkovaGC3 が.NET 4.0を使っているため下記のエラーになる.

    1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets(2110,5): warning MSB3274: プライマリ参照 “ZelkovaGC3, Version=0.0.0.0, Culture=neutral, processorArchitecture=x86″ は、”.NETFramework,Version=v4.0″ フレームワークに対して作成されているため、解決できませんでした。これは現在ターゲットされているフレームワーク “.NETFramework,Version=v2.0” よりも新しいバージョンです。

    VBでも.NET 4.0を使うように設定して,このエラーは解消した.最後に残ったのはオブジェクト配列関係が廃止されているという問題だけになった.現行バージョンでもこれらのオブジェクトは使われている.その前に

    1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets(2110,5): warning MSB3270: 構築されているプロジェクトのプロセッサ アーキテクチャ “MSIL” と、参照 “ZelkovaGC3, Version=0.0.0.0, Culture=neutral, processorArchitecture=x86” のプロセッサ アーキテクチャ “x86” の間には不一致がありました。この不一致は、ランタイム エラーを発生させる可能性があります。プロジェクトと参照の間でプロセッサ アーキテクチャが一致するように、構成マネージャーを使用してターゲットとするプロジェクトのプロセッサ アーキテクチャを変更するか、ターゲットとするプロジェクトのプロセッサ アーキテクチャに一致するプロセッサ アーキテクチャとの依存関係を参照で設定することを検討してください。

    のようなエラーが発生している.⇒VBの設定でターゲットCPUをx86に切り替えてこのエラーは出なくなった.廃止されたオブジェクト配列には以下がある.

    1. CheckBoxArray
    2. ButtonArray
    3. ComboBoxArray
    4. PanelArray
    5. TextBoxArray

    このようなものが総数で17個使われている.これはVS2015を導入したとき,変換を途中で打ち切ってしまったために起こっているのではないだろうか?しかし,それでは現にエラーなしにコンパイルできる版があることを説明できない.コンパイル可能な版にもオブジェクト配列は温存されている.

    もう一度VS2005→VS2017をやり直してみることにする.現在仕掛りの版はZELKOVA2018 2019-08-12 BADとした.しかし,開始プロジェクトのV2.0.2.229_R2018-10-07はすでに上書きしていたのではなかったろうか?EドライブのE:\ZELKOVA 2018 BACKUP\ZELKOVA-2018-10にZELKOVA_2018-10-07が残っている.これを使ってみよう.

    一方向のアップグレード
    Visual Studio は、次のプロジェクトを開くために機能的な変更を自動的に行います。プロジェクトの作成に使用したバージョンの Visual Studio では、プロジェクトを開くことができなくなります。
          – ZelkovaDLL3, “D:\ZELKOVA_2020\ZELKOVA2018\ZelkovaDLL\ZelkovaDLL.vcproj”
          – ZelkovaVB3, “D:\ZELKOVA_2020\ZELKOVA2018\ZekovaVB\ZelkovaVB3.vbproj”
          – ZelkovaGC3, “D:\ZELKOVA_2020\ZELKOVA2018\ZelkovaGC\ZelkovaGC.vcproj”
          – ZelkovaZ3, “D:\ZELKOVA_2020\ZELKOVA2018\ZelkovaZ\ZelkovaZ.vcproj”
          – ZelkovaTree, “D:\ZELKOVA_2020\ZELKOVA2018\ZelkovaTree.sln”

    変更は必要ありません
    これらのプロジェクトは、変更せずに Visual Studio 2015、Visual Studio 2013、Visual Studio 2012、および Visual Studio 2010 SP1 で開くことができます。
          – Solution Items, “Solution Items”
          – SetupBeta3, “D:\ZELKOVA_2020\ZELKOVA2018\SetupBeta\SetupBeta.vdproj”

    VB3では以下のメッセージが出ている.

    ZekovaVB\ZelkovaVB3.vbproj: このプロジェクトは .NET Framework 2.0 または 3.0 に対応しています。プロジェクトで新しい .NET Framework を必要とするアセンブリを使用すると、ビルドに失敗します。[プロジェクト] メニューの [プロパティ] をクリックし、[.NET Framework] ボックスの一覧で新しいバージョンを選択することにより、.NET Framework のバージョンを変更できます。Visual Basic では、これは [コンパイル] タブの [詳細コンパイラ オプション] ボタンをクリックすると表示されます。

    さらに146個のメッセージがあるが,すべてバックアップに関するものだ.この変換はVS2010に対応するものでそれ以上の変換は実施されていない.しかし,このレポート画面は前回も見ているので実質的な変化は存在しないとみなくてはならない.選択肢としては,①オブジェクト配列の廃止に対応するか,ないし,②安定版の供給を断念して最終版のデバッグに注力するか?のいずれかしかない.

    V2005からVS2017への移植

    午前9時起床,曇り.朝食は抜き.今日は少し涼しいが扇風機を回している.昨日の続きに戻ろう.最新の安定版と思われるV2.0.2.229_R2018-10-07をVS2017に移植しているところだ.この版は公式リリース/安定版ではなくZELKOVA_2018フォルダにあったものだが,多分最終の安定版と考えてよいと思われる.上書きしてしまったためオリジナルはすでに残っていないが,VS2005上で開発されていたものと推定される.

    1. C1083    include ファイルを開けません。’MAPIWIN.H’:No such file or directory    ZelkovaDLL3    d:\zelkova_2020\v2.0.2.229_r2018-10-07\zelkovadll\src\kakeizu.cpp    16    ⇒ コメントアウト
    2. LNK1104    ファイル ‘mfc80d.lib’ を開くことができません。    ZelkovaDLL3    D:\ZELKOVA_2020\V2.0.2.229_R2018-10-07\ZelkovaDLL\LINK    1  
    3. 以下のようなエラーが大量発生する:LNK2001    外部シンボル “”class ATL::CAtlBaseModule ATL::_AtlBaseModule” (?_AtlBaseModule@ATL@@3VCAtlBaseModule@1@A)” は未解決です。    ZelkovaDLL3    D:\ZELKOVA_2020\V2.0.2.229_R2018-10-07\ZelkovaDLL\DrawTree.obj    1    ⇒  特定の既定のライブラリを無視:atls.lib を指定から外す
    4. LNK1120    1 件の未解決の外部参照    ZelkovaDLL3    D:\ZELKOVA_2020\V2.0.2.229_R2018-10-07\Debug\ZelkovaDLL3.dll    1   
    5. LNK1117    オプション ‘VERSION:1.8.0’ に構文エラーがあります。    ZelkovaGC3    D:\ZELKOVA_2020\V2.0.2.229_R2018-10-07\ZelkovaGC\LINK    1   ⇒ VERSION 2.0 とした
    6. MSB3284    タイプ ライブラリ “f10efde4-db94-11d2-b863-289605c10026” バージョン 1.0 のファイル パスを取得できません。ライブラリは登録されていません。 (HRESULT からの例外:0x8002801D (TYPE_E_LIBNOTREGISTERED))    ZelkovaGC3    C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets    2729    ⇒ 最小のターゲットシステムをNT60からNT51に変更,パラメータの確認を/norobust から /robust に変更
    7. MSB8012    TargetExt(.dll) が Linker の OutputFile プロパティ値 (.ocx) と一致しません。このため、プロジェクトが正常にビルドされない可能性があります。この問題を解決するには、$(OutDir)、$(TargetName)、および $(TargetExt) の各プロパティ値が、%(Link.OutputFile) で指定されている値と一致することを確認してください。    ZelkovaZ3    C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\VC\VCTargets\Microsoft.CppBuild.targets    1217    ⇒ ターゲットの拡張子を.dll から .ocx に変えた

    ここまでの修正でDLL, GC.DLL, OCXの3つのコンポーネントはすべてエラーなしでビルドできるようになった.VBのビルドではまだ大量のエラーが出ている.

    1. 以下のようなエラーが大量発生する:IDE0044    Make field readonly    ZelkovaVB3    D:\ZELKOVA_2020\V2.0.2.229_R2018-10-07\ZekovaVB\FindCard.vb    53    アクティブ ⇒ エラーが出ている項目は参照されていないのでコメントアウトしておく
    2. IDE0017    オブジェクトの初期化を簡略化できます    ZelkovaVB3    D:\ZELKOVA_2020\V2.0.2.229_R2018-10-07\ZekovaVB\ImportFile.vb    140    アクティブ ⇒ 初期化部分をWith … End With で囲む
    3. プライマリ参照 “ZelkovaGC3, Version=0.0.0.0, Culture=neutral, processorArchitecture=x86″ は、”.NETFramework,Version=v4.0″ フレームワークに対して作成されているため、解決できませんでした。これは現在ターゲットされているフレームワーク “.NETFramework,Version=v2.0” よりも新しいバージョンです。    ZelkovaVB3   ⇒    

    かなり厄介な問題が持ち上がってきた.オブジェクト配列が廃れてしまっている.

    最新の安定版を確保する

    午前9時起床,晴れ.今日も暑い.朝食抜き.少し昼寝した.眼が疲れている.昨日からダイソーのメガネを使っているためだろうか?遠近両用メガネにはブルーライトカットが入っているのでその違いかも知れない.ともかく少し動き始めたので先を急ごう.

    現行の開発環境で問題なく動作していることが確認できたので,次にやるべきことは最新の安定版を確保することだ.2018/02/10には「規準Nodeの配偶者が枠外に出てしまう問題」に掛かっているが,これが目下仕掛りとなっている課題なのでそれより前で探さなくてはならない.2018/02/10の始業時バックアップを試してみることにしよう.⇒ダメだ.昨日のオープンテストで発生した反例BUG19-08-10 02-35-27.ZELで始系列の有線ノード不在が発生してしまう.

    この障害は ZELKOVA2019_2019-02-06-2ですでに発生している.ZELKOVA2019_2019-02-06でも起きる.オープンテストを通ったかないし,好成績を揚げたバージョンが欲しいところだが,2月にはテストをまったく実施していない.ZELKOVA2020フォルダ中で一番古いのはZELKOVA2019_2019-02-02-1だが,すでにここでも同じエラーが発生している.1月にはオープンテストを実施している形跡はあるが,成績は芳しくない.

    ZELKOVA2018フォルダにはそれ以前の版が入っているが,すべてVS2015でビルドされているためVS2017に移行するための作業が必要になる.ここには2つの安定版がある.V2.0.2.229_R2018-10-07とV2.0.1.978_R2018-03-30だ.VS2015を開発機に再インストールしてビルドし直すことも考えられる.VS2015にはAnyCPUというモードがあったはずだ.ともかくそれをやってみることにしよう.Visual Studio 2015 はVSのダウンロードページから探すことができる.ただし,X64版とX86版が独立しているようだ.Visual Studio Community 2015もあるが,こちらはX86版しかない.

    Visual Studio 2015 Update 3 をダウンロードしてみた.これにはX86とX64が入っているようだ.インストーラからダウンロードするようになっているので,ネットに接続する必要がある.Update 3だけではダメのようだ.Visual Studio Community 2015 with Update 3 というのがあった.インストーラはX64版とX86版を並列インストールしている!アイコンは1つしか作られないので,内部で切り分けるようになっているのだろう.VS2015はインストールできたが,やはり移行措置が必要になる.これはおもしろくない.むしろ,現在のプロジェクトにソースコードだけ移植してVS2017でコンパイルした方が早いのではないだろうか?

    やってみたが大量エラーが発生する.これはやはりストレートに移行手順を踏むしかないのではないだろうか?オリジナルのV2.0.2.229_R2018-10-07をコピーしてVS2017で開いたらプロジェクトがすべてVS2015に切り替わっている.確かにZELKOVA2018で直接このフォルダをVS2015で開いてしまっているかもしれない.ビルドするとインクルードエラーが発生する.

    VS2017ではプロジェクトごとにインクルードパスを切ることになっているからだ.インクルードパスは現行プロジェクトからコピーして片付いたが,コンパイルエラーが大量発生している.コンパイラーの構文検査が厳格になり,同一名の局所変数が使えなくなっている.相当な時間を掛けて片付けることはできたが,まだかなりのエラーが残っている.

    1. E0020    識別子 “__checkReturn_wat” が定義されていません    ZelkovaDLL3    D:\ZELKOVA_2020\V2.0.2.229_R2018-10-07\ZelkovaDLL\SRC\comdebug.cpp    28    ⇒暫定的にこの行を止めた
    2. C4996    ‘GetVersionExA’: が古い形式として宣言されました。    ZelkovaDLL3    D:\ZELKOVA_2020\V2.0.2.229_R2018-10-07\ZelkovaDLL\SRC\BugReportDialog.cpp    334    ⇒ 暫定的にコメントアウト
    3. E0308    オーバーロードされた関数 “abs” の複数のインスタンスが引数リストと一致します:    ZelkovaDLL3    D:\ZELKOVA_2020\V2.0.2.229_R2018-10-07\ZelkovaDLL\SRC\BugReportDialog.cpp    817    ⇒ absをfabsに変えて解決
    4. E0020    識別子 “_get_amblksiz” が定義されていません    ZelkovaDLL3    D:\ZELKOVA_2020\V2.0.2.229_R2018-10-07\ZelkovaDLL\SRC\BugReportDialog.cpp    929    ⇒ 暫定的にコメントアウト
    5. LNK1117    オプション ‘VERSION:1.8.0’ に構文エラーがあります。    ZelkovaDLL3    D:\ZELKOVA_2020\V2.0.2.229_R2018-10-07\ZelkovaDLL\LINK    1    ⇒ 親から継承
    6. LNK1104    ファイル ‘mfc80d.lib’ を開くことができません。    ZelkovaDLL3    D:\ZELKOVA_2020\V2.0.2.229_R2018-10-07\ZelkovaDLL\LINK    ⇒ライブラリパスを$(VC_LibraryPath_x86);$(WindowsSDK_LibraryPath_x86);$(NETFXKitsDir)Lib\um\x86として解決

    2019/01/06のログにVS2010試供版をインストールしたという記事がある.ここでは上記と同種のエラーが確認されているが,やはり一つづつこつこつ潰していくしかないようだ.プロジェクトのプロパティでプラットフォームツールセットをVisual Studio 2017 [v141]に切り替えたら,また大量の「…を宣言すると、クラス メンバーが隠蔽されます」が出るようになった.

    遠近両用メガネで作業するのは少し無理がある

    IMG_20190810_002232

    午前9時起床,晴れ.朝食はサラダうどん3/4食.出遅れたので大急ぎでギブスを装着して新井整形に走る.これ以上悪化したら全体をギブスで固めますよ(現在は片側だけで取り外し可能)と言われていたので形だけでもギブスを付けなくてはならない.急いでいたので入れ歯を入れるのを忘れてしまった.レントゲン写真4枚のコピーをもらう.「ここがずれているが,そのまま安定したようだ」と言われたが,あまり納得しない.部屋に戻ってすぐにギブスを外した.

    傷口にはまだ化膿が少し残っているが,化膿止め(抗生物質)はすでに止めて皮膚を乾燥させる軟膏というのを使っているのだがあまり効果がない.むしろ傷口を完全に開放して自然乾燥させた方が治りが早いような気がする(経験的に実証済).医院は連休に入るので次の診断日(来週金曜)までは放置することにした.昨日はフロに入ったあとそのまま寝てしまった.EnglishBreakThrough Chalenge の最後の課題を明日までに片付けなくてはならないのだが,昨日サボってしまったのでともかく仕事に戻ることにする.

    手元にはWindows 10 搭載PC2機しかないので,これを使ってやれることをやるしかない.ここまでの観察で結論的に言えることは一つだけだ.つまり,「64ビット版と32ビット版は別々にビルドするしかない」ということだろう.現行ではAnyCPUという設定でビルドしているので,システム側で適宜対応してくれるものと思っていたのだが,Windows 10 の新しい環境ではそれが通用しなくなっていると考えるしかない.

    Windows 10 にも32ビット版と64ビット版がある.ここにあるのはどちらも  64ビット版だ.これまでのところインストールに成功したのはZelkovaTreeSetup.2.0.2.261.msi だけだった.この版はVS2015でビルドしたものと推定しているが,正しいだろうか?しかし,VS2015からVS2017に移行したのは2018年12月なので,それ以前のバージョンはすべてVS2015製のはずだが,インストールできていないのではないか?

    ZelkovaTreeSetup.2.0.2.261.msi だけは ZELKOVA_2019  に単独で保管されているので,この版は旧開発機つまり,lenovoから直接コピーされたものである可能性がある.もし,そうであるとすれば従来通りの動作となる版はWindows 7 環境で生成されたものに限定されるということになる.

    ZELKOVA\/2018 に入っているインストーラはすべて2018年12月以前に生成されたものだが,インストールエラーが発生する以前に以下のようなエラーになってしまう.

    image

    外付けHDに入っている2017年版でも同じエラーになってしまう.どういうことだろう?違う.これはカスペルスキーのブロックが作動しているためだ.どうも具合が悪い.しかし,カスペルスキーのブロックを解除してもOCXの登録で失敗する状況は同じだ.

    どうもこのZelkovaTreeSetup.2.0.2.261.msi という版はかなり特殊なものと考えるしかなさそうだ.このインストーラがどのような環境で作られたのかを突き止めなくてはならない.おそらく,この版だけはビット数に関わりなくインストールできる唯一のバージョンとなっている可能性がある.

    2018/12/29の記事には,「Visual Studio 2015でビルドしたX86版をゼルコバの木2018,Visual Studio 2017でビルドしたX64バージョンをゼルコバの木2020と呼ぶ」としている.これはおそらくZELKOVA_2018, ZELKOVA_2020フォルダに対応していると考えてよいだろう.

    現在メイン機として使っているDiginnosを導入したのは2018年11月頃と考えられるので,ZELKOVA_2018の中身はすべてlenovoからコピーされたものと考えてよいと思う.それにしても分からないのが,ZELKOVA_2019 の出自だ.これが突き止められれば32ビット,64ビット併用版を現時点でも生成できる可能性はあるのだが…

    いや,このパッケージはどうもVisual Studio 2010で生成されているもののように見える.プロジェクト名の脇にVisual Studio 2010 とある.

    image

    Visual Studio 10 はメディアからインストールするしかないようだが,手元にあったろうか?VS2010は手もとにないし,インストールした記憶もない.ただし,このパッケージがVS2017で開けるということは少なくとも一度VS2017でプロジェクトを開いたことがあるのではないか?2018年頃の版を開こうとすると下記のようなパネルが表示される.

    image

    このような古い版を開いてかつ,VS2017に移行しないという選択肢があることも考えられる.もしそのようなことが可能であるとすれば,ある種の活路となる可能性もあり得るが…プロジェクトのプロパティ:プラットフォームツールキットでVS2010を選択できる.これはもしかするとVS2010の試用版をインストールして生成したものではないか?

    image

    2019年3月の最終版を見てみよう.おかしい.何か勘違いしていたのだろうか?問題なくビルドして実行できる.つまり,3月時点と同じ状態になっている.

    image

    リリース日付は2019/02/06となっているが,これが最終版であることは間違いない.なぜこんな勘違いが起きたのだろう?前回チェックしたときといまの環境でもっとも大きな相違点はメガネだ.前回は最近購入したばかりの遠近両用メガネを使っていたが,どうしても視野が狭く目が疲れるのでダイソーで買った4度に替えてみた.確かにこの方が楽だ.遠近両用は眼科医で検眼しメガネ屋で調整したので5万円も掛かっている!しかし,それでも腑に落ちない点がある.

    2019/08/04のログには「最終版:2019/03/10をデバッグモードでビルドしてエラーになる.VBで未定義シンボルが発生している」とある.もう一度クリーンビルドしてみよう.どうも警告をエラーと誤認してしまったのではないだろうか?

    image

    エラーは1件発生しているが,無視して実行できる.リリース版をビルドしてみよう.問題なくインストールできた.ということは現行の開発環境にはなんら問題はなかったと言うことになる.問題を開始点に戻って解析し直さなくてはならない.

    最新の安定版のEXEが実行できないという事象が起きていた.V2.0.2.143 R2018-08-18という版だ.日付から見て,これはVS2015でビルドされたものと思われる.VS2017にインポートしてみよう.この版では上記の「一方向のアップグレード」が発生するため互換性が維持できない.

    この移行作業はかなり厄介だったような気がするのでできればパスしたい.2月6日が最終リリース日付になっているのでこの辺りのログを読んでみよう.このころはスマホが手に入ったころなのでまだ,ネット上の動画を漁っている.この後,2月10日から「基準ノードの配偶者が枠外に出てしまう」問題に掛かっているので,2月7日には一旦収束したものと考えてもよいように思われる.この版を起こしてテストしてみることにしよう.

    いままでまったく気付かなかったが,Visual Studio 2017 のメニューに見慣れない英字タイトルのメニューが2つある.Incredibuild と R tools だ.Rというのはデータ解析用のツールセットのようだ.日本語メニューにも「分析」という項目はあるが,それを拡張したもののように見える.Incredibuild というのはVSのコンパイル時間を短縮するための分散処理技術と思われる.製品価格で14万円もしたものだ.VS2017は無償の上にこんなおまけが付いているとは思わなかった.

    2019-02-07の安定版候補をビルドしようとしたら,大量のエラーが発生した.エラー件数17件,警告8件というのは前にも見ている.管理者権限でVSを起動したら通った.ZELKOVA2020_2019-08-09というビルドができた.テストしてみよう.障害サンプル集のオープンテストを実施してみる.このFolderには2605本のサンプルが入っている.ダメだ!早速SUWが出てしまった.

    かなり芳しくないできだ.その上,描画上のゴミも出ているようだ.さらに最悪なことにはどうもどこかでハングしている模様だ.FB4反例/FB4検定2017-05-23/毀損サンプル/B UG15-12-28 14-52.NONで起きている.

    カスペルスキーから応答があった

    午前10時半起床,晴れ.朝食は薄切りパン2枚に自家製レモンジャム.カスペルスキーから応答があった.不具合はすでに解消しているが,「当方サーバーの問題」である可能性が高いとの返答だった.カスペルスキーのロゴも変わっている.カスペルスキーのロゴが kaspersky lab から kaspersky に変わったことはニュースレターで承知していたが,わたしの記憶違いでなければEU圏限定だったような気がしているのだが…

    lenovo ノートは工場出荷状態に戻すことでログインすることはできるようにはなったが,かなり不調だ.というか,昨日の移行作業中にも一度クラッシュして再起動になっている.このときのリブートでWindows を更新しているので,果たして期待するような動作になっているかどうかも疑問だ.

    ともかく動いている間にできるテストを済ませておくことにしよう.ダメだ.リブートできなくなってしまった.通常起動と修復スタートアップという選択肢があるが,どちらを選んでも beeping になってしまう.完全に寿命が尽きたと考えるしかなさそうだ.たとえ起動できたとしても動作が緩慢でほとんど重病人という態なので使い物にならないと考えた方がよさそうだ.→ビープを無視して続行してスタートアップ修復画面までは進んだが,「スタートアップ修復ではこのコンピュータを自動修復できません」が表示されている.こうなっては廃棄しかないだろう.

    Windows 7 搭載機がなくなってしまった.どうすればよいか?使用可能なPCはタブレットを含めて2台になってしまった.まず,OSのバージョンを確認してみよう.メイン開発機はまだ完全スキャンの実行中だ.76%しか進んでいない.どうもスタンバイに入るとバックグラウンド動作も止まってしまっているような気がする.メイン機はWindows 10 Home バージョン:1809 インストール日:2019/01/19 OSビルド:17763.615 だ.タブレットも同じ Windows 10 Home バージョン:1809 インストール日:2019/01/04 OSビルド:17763.615 となっている.この2つのマシンにそれぞれ異なるレビジョンの Windows 10 をロードすることができれば,ある程度のことは調べられるかもしれないが,できるだろうか?

    Visual Studio を再インストールしてみれば,何か多少の情報が得られる可能性もあるが,インストール不能という事象は外部ユーザのマシンでも起きているのであまり意味がないようにも思われる.また,VS2017 を再インストールするとしたら,またマイクロソフトサイトからダウンロードしなくてはならないから,それがアップデートされていればほとんどやっても意味がない気がする.