splashtopを使用する際、¥キーの挙動に悩まされた件

ここ最近本腰入れてVB.Netの開発に取り組んでいます。
世の中ではローコード、ノーコードが流行しているようで、プログラムゴリゴリって何すか?みたいな雰囲気もあり...ま、その事については多々言いたいことはありますが、ともかく今日はその開発作業に関するトラブルについてです。
通常開発作業を行う場合は、下記のように開発センターに設置している開発環境搭載Windowsに対して、開発センターにいる場合は直接、もしくは別のWindowsPCから、在宅勤務の場合はMACから、splashtopで接続・作業を行っています。

さて、その日は開発センターでプログラム作成&動作テストを行った後、自宅からsplashtopで接続して続けようと考え一旦帰宅。結構調子よく作業が進んだこともあって自宅でもサクサクとコード作成が続き、あとはテストをするだけでしたのでテストは翌日開発センターで行うことにしました。

そして開発センターでテストを行ったところ、あれ?プログラムがうまく動作していない。
そのプログラムは
 1.決められたファイルが決められたフォルダに正しく保存されているか?
 2.目的のフォルダが存在しない場合は目的のフォルダを作成して
 3.その上で当初のファイルを保存する
と言う動きをするのですが、フォルダを正しく探しに行くところでエラーとなっています。

前日開発センターでコーディング&テストしたときには正しく動作していたはずなので、一晩の間に何か天変地異でもありましたか?な状態。エラーとなっているコードは以下のような感じで、¥A¥B¥C¥….フォルダを順番に探索しながら、存在しなければフォルダを作って次に進む、と言う流れになってます。
Aフォルダを探す部分はうまく動作するのですが、Bフォルダ判定の部分がどうしても乗り越えることができずエラーとなる原因がまるで分かりません。

    'Aフォルダが存在するかどうかチェック、存在しない場合はフォルダを生成する
    sagyoPath = sagyoPath & "¥" & lstrDirA
    If Not System.IO.Directory.Exists(sagyoPath) Then
        Dim dirNendo As System.IO.DirectoryInfo = System.IO.Directory.CreateDirectory(sagyoPath)
    End If

    'Bフォルダが存在するかどうかチェック、存在しない場合はフォルダを生成する
    sagyoPath = sagyoPath & "¥" & lstrDirB
    If Not System.IO.Directory.Exists(sagyoPath) Then
        Dim dirDenno As System.IO.DirectoryInfo = System.IO.Directory.CreateDirectory(sagyoPath)
    End If

    'Cフォルダが存在するかどうかチェック、存在しない場合はフォルダを生成する
    sagyoPath = sagyoPath & "¥" & lstrDirC
    If Not System.IO.Directory.Exists(sagyoPath) Then
        Dim dirDenno As System.IO.DirectoryInfo = System.IO.Directory.CreateDirectory(sagyoPath)
    End If

記述方法を変えてみたらどうかとコードを大きく書き直していたところ、今まで全くダメだったはずBフォルダ判定も、続くCフォルダ判定もちゃんとできるようになりました。
狐につままれるというのはまさにこれか〜と思ったり、どこかでこの作業を見ていたプログラムの神様(マーフィー的な話ですね)が「動くことにしてあげよう」って思ってくれたんだろうか...しばし呆然。
と、閃きました!!「そういえば似たような出来事があった」と。

以前MACからsplashtop経由でWindowsに接続し、エクスプローラで共有サーバーに接続しようとした際、何故かブラウザが起動してしまう、つまり指定した共有サーバーアドレスが不明だと見なされてしまうことがありました。例えば¥¥fileSVと言う名前のアドレスを打ち込みます。

すると何故かブラウザが起動し、入力していないアドレスとなってしまい共有サーバーに接続することができません。

どうやら入力された¥記号がMAC→splashtop→Windowsに渡される際にうまく処理されていないらしく、Windows上で¥記号が違うコードとして扱われていることが原因のようでした。このような場合の正しい指定方法は下記のように


¥記号ではなく、バックスラッシュ記号で指定する必要があるようです。ただし見た目はどちらも¥表現だったりするという、分かったような分からないような話です(説明がマズくてすいません)。と言うことがあったことをすっかり忘れていましたが、今回の騒動も同じ現象でした。
先ほどのコードではAフォルダの探索部分は1日目開発センターにてWindows経由でコーディング&テストしたので¥記号がおかしなことになることもなかったのですが、在宅時MAC経由でコーディング作業を行った際に新たに埋め込んだ¥記号から違うものとして扱われ、翌日開発センターで¥記号も記述し直したためサイプライズハッピーエンドを迎えた、と言う訳ですね。

splashtopはMACからWindowsにも接続できるので大変重宝しているのですが、こういった開発作業の際にはWindows環境のみで行った方が間違いないのかもな〜と思った次第。
この¥記号に関するトラブルがsplashtopに起因するものかどうかは分かりませんが、同じような環境でsplashtopを利用される場合は是非お気をつけ下さい。

一緒に働く仲間を募集しています!!

合同会社しあんすでは一緒に働いていただける方を募集しています。職種は...このサイトに載せているようなジャンルで働いてみたいなあと言う方は是非。
お客様先へお邪魔して、パソコンの設置・導入、サーバーのセットアップ、ネットワークの導入設置、システム開発など仕事は多岐に渡りますが、基本は「お客様のご相談に真剣に応える」というモチベーションがあればOKです(ま、それが難しいんですけどね)。知識のあるなしはあとから付いてくるものと考えています。
このサイトをご覧になって話を聞いてみたいな、となったらお問合せからご連絡いただければ幸いです。

カテゴリー: Windows パーマリンク