Hidemarnet Explorer with FTPS V4.50No.38637
秀まるお2 さん 21/01/08 13:55
 
 まだ正式にホームページ上で公開という訳では無いんですが、Hidemarnet Explore
r with FTPSのVersion 4.50をアップロードだけしました。以下のURLからダウンロー
ドできます。

   https://hide.maruo.co.jp/software/bin/hmexs450_signed.exe

 修正点ですが、まず、Dropboxへのログイン(アクセスキーの取得)が最近出来な
くなってました。DropboxへのOAuth認証時にWebBrowserコントロールでアクセスする
と、それはつまりInternet Explorer相当でアクセスすることになって、それが最近
拒否されるようになってしまってました。

 仕方が無いので外部のブラウザでログインして、取得されたキー(code)をコピペ
してもらう方式にしました。

 さらに、Dropbox側の仕様変更の関係で、OAuth認証の方式が変更になりまして、現
状の方式では今後アセス不可になるということで、新しい方式に変更しています。

 もう1つ、実はだいぶ前からOneDriveへのアクセスもうまくいかなくなってたよう
です。OneDriveへアクセスするのに「Windows Live SDK」ってのを使ってアクセスし
てたんですが、その方式が廃止になってたようです。代わりにMicrosoft Graph API
を使わないといけなくなってました。

 その新しい方式で作り直しました。

 今まで特にユーザーさんから不具合報告が無かったということは、OneDriveにアク
セスされてるユーザーさんがほとんど居なかったのかもしれませんけども・・・。
(悲しいお知らせ)

 とりあえず、一回β版として出そうかと思いつつも、そういう状況(ユーザーさん
がゼロに近い?)だとあまり意味が無いので、いきなり正式版にします。がしかし、
念のためもしかしてテストしてくれる人もいるかもしれいので、アップロードだけ先
にしてみました。

 もし良かったら使ってみていただけると助かります。

[ ]
RE:38637 Hidemarnet Explorer with FTPS No.38640
h-tom さん 21/01/08 21:11
 
h-tom です。

> まだ正式にホームページ上で公開という訳では無いんですが、Hidemarnet Explorer
>with FTPSのVersion 4.50をアップロードだけしました。以下のURLからダウンロード
>できます。
<省略>
> もし良かったら使ってみていただけると助かります。

OneDrive を試してみましたが、サーバーの設定でOneDriveの接続テスト中に、アプ
リケーションエラーになります。
1)「サーバーの設定」→「新規」
2)「サーバータイプ」を「Microsoft OneDriveのアカウント」を選ぶ。
3)メールアドレス入れて「キー取得」を押すと「アプリケーション登録」のダイアロ
グが表示される。
4)OneDriveにアクセスして、Hidemarnet Explorerのアクセスを許可
5)アプリケーションエラーで停止。
(で、どうにもならなくてタスクマネージャ使って秀丸エディタ本体毎ごと終了)

OneDrive側へのアプリケーション登録は正常に終了していて、確認のメールとレジス
トリ(SK.Live\Account)にAccessToken等は記録されてました。

サーバーの設定は記録されていないので、もう一度やってみましたが、同じくOneDri
veの接続テスト中にアプリケーションエラーになります。
(System.ArgumentException: 同一のキーを含む項目が既に追加されています。)

レジストリ削除して、やり直した方がいいのでしょうか?

[ ]
RE:38640 Hidemarnet Explorer with FTPS No.38641
秀まるお2 さん 21/01/08 22:59
 
 テストありがとうございます。&、エラーでお手数かけてすみません。

 一応、僕の所ではそのエラーは出てないくて、改めて連絡いただいた手順でキー取
得からやりなおしてみたんですが、大丈夫そうです。

   (System.ArgumentException: 同一のキーを含む項目が既に追加されています。

 ってことだと、たぶんソースコード中のDictionaryって型の変数を使ってる処理の
どこかなんだろうと思うんですが、エラーメッセージの中に何かソースコード中の場
所を知らせてくれるような内容とか出てなかったでしょうか。もし出てたら教えて欲
しいです。

 あと、「ファイル・Web・Hidemarnet Explorerの設定」から「その他」ページの
「エラーログを記録する」として出てくる「sk.lib.err」ファイルの一番最後付近の
内容も出来たら教えて欲しいです。

 普通に成功した場合だと、

2021/01/08 22:55:14 SK:IsAccess:Start(True):0
2021/01/08 22:55:14 SK:IsAccess2:0
2021/01/08 22:55:14 SK:IsAccess3:16
2021/01/08 22:55:19 SK:IsAccess4:5234
2021/01/08 22:55:22 SK:IsAccess5:8234
2021/01/08 22:55:23 SK:IsAccess6:9031
2021/01/08 22:55:23 SK:GetRootID:Start:0
2021/01/08 22:55:23 SK:GetRootID2:15
2021/01/08 22:55:23 SK:GetRootID3:15
2021/01/08 22:55:23 SK:GetRootID5:15
2021/01/08 22:55:23 GetContentV450 URL=https://graph.microsoft.com/v1.0/me/d
rive/root
2021/01/08 22:55:23 GetContentV450 Result={"@odata.context":.......
2021/01/08 22:55:23 SK:GetRootID6:484
2021/01/08 22:55:23 SK:GetRootID7:500
2021/01/08 22:55:23 SK:IsAccess:End:9547


 みたいな内容になるんですが、果たしてどこまで進んで落ちてるのか分かると、そ
れが解決のヒントになります。もし良かったらそれもお願いします。

 とりあえず、僕の方では例外の出そうな処理(Dictionaryの処理)を探してみます。

[ ]
RE:38641 Hidemarnet Explorer with FTPS No.38642
秀まるお2 さん 21/01/08 23:18
 
 再現には至ってないですが、たぶん、

    SK:GetRootID6

 までは成功してて、その次の「GetRootID7」が出る前に例外が起きてるのかなぁと
思います。

 Graph APIから返ってきてるJSON型式文字列の解釈の処理で失敗するとそこで例外
が起きるみたいでした。

 JSONの解釈の処理は、既存の処理でとりあえず動いてるのはそのままにしてたんで
すが、そもそも的に型式がだいぶ変わってるはずなので、全面的に直さないとダメな
んだろうと思います。その辺修正させていただきます。

 少々時間かけて直してテストもしようと思います。お手数かけてすみません。

[ ]
RE:38641 Hidemarnet Explorer with FTPS No.38643
h-tom さん 21/01/08 23:49
 
h-tom です。

> ってことだと、たぶんソースコード中のDictionaryって型の変数を使ってる処理の
>どこかなんだろうと思うんですが、エラーメッセージの中に何かソースコード中の場
>所を知らせてくれるような内容とか出てなかったでしょうか。もし出てたら教えて欲
>しいです。
************** 例外テキスト **************
System.ArgumentException: 同一のキーを含む項目が既に追加されています。
   場所 System.ThrowHelper.ThrowArgumentException(ExceptionResource resource)
   場所 System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue valu
e, Boolean add)
   場所 System.Collections.Generic.Dictionary`2.Add(TKey key, TValue value)
   場所 sk.live.MainCode.SetJSONParam(String JSON, Boolean& MultiFlg)
   場所 sk.live.SkyDrive.GetRootID()
   場所 sk.live.SkyDrive.IsAccess(Boolean SetOAuthFlg)
   場所 hmnetex.FTPProWin.AuthNowButton_Click(Object sender, EventArgs e)
   場所 System.Windows.Forms.Control.OnClick(EventArgs e)
   場所 System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
   場所 System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons butt
on, Int32 clicks)
   場所 System.Windows.Forms.Control.WndProc(Message& m)
   場所 System.Windows.Forms.ButtonBase.WndProc(Message& m)
   場所 System.Windows.Forms.Button.WndProc(Message& m)
   場所 System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   場所 System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, I
ntPtr wparam, IntPtr lparam)
************** 読み込まれたアセンブリ **************

> あと、「ファイル・Web・Hidemarnet Explorerの設定」から「その他」ページの
>「エラーログを記録する」として出てくる「sk.lib.err」ファイルの一番最後付近の
>内容も出来たら教えて欲しいです。
2021/01/08 23:18:35 SK:IsAccess:Start(True):0
2021/01/08 23:18:35 SK:IsAccess2:0
2021/01/08 23:18:35 SK:IsAccess3:0
2021/01/08 23:18:39 SK:IsAccess4:4390
2021/01/08 23:18:40 SK:IsAccess5:5469
2021/01/08 23:18:41 SK:IsAccess6:6328
2021/01/08 23:18:41 SK:GetRootID:Start:0
2021/01/08 23:18:41 SK:GetRootID2:0
2021/01/08 23:18:41 SK:GetRootID3:0
2021/01/08 23:18:41 SK:GetRootID5:0
2021/01/08 23:18:41 GetContentV450 URL=https://graph.microsoft.com/v1.0/me/d
rive/root
2021/01/08 23:18:42 GetContentV450 Result={"@odata.context": 〜 省略 〜
2021/01/08 23:18:42 SK:GetRootID6:781

> までは成功してて、その次の「GetRootID7」が出る前に例外が起きてるのかなぁ
>と思います。
そのようです。

[ ]
RE:38643 Hidemarnet Explorer with FTPS No.38648
秀まるお2 さん 21/01/12 11:54
 
 問題の箇所の修正と、その他似たような処理が無いかのチェックもしてまたアップ
ロードさせていただきました。

https://hide.maruo.co.jp/software/bin/hmexs451_signed.exe

 すみませんがこれで1回動作確認お願いしたいです。

 Graph APIから返ってくるJSON型式データの解析は全部Newtsonsoft.Jsonライブラ
リを使うようにした上で、例外もちゃんとキャッチして落ちないように修正してみま
した。

 もしかしてこれでもダメでしたら、エラーログの中に出てきてる

2021/01/08 23:18:42 GetContentV450 Result={"@odata.context": 〜 省略 〜

 の所を全部か、せめて形式的に同じ物を教えていただければ再現できるかと思いま
す。

 たとえば

 "id":"xxxxx"

 みたいに中身は伏せ字にしていただくとかで教えて欲しいです。

 ちなみに僕の所だとこんな風なデータになります。これだとそもそも最初に連絡い
ただいた例外も発生しないのですが。

2021/01/10 10:23:35 GetContentV450 URL=https://graph.microsoft.com/v1.0/me/d
rive/root
2021/01/10 10:23:36 GetContentV450 Result={"@odata.context":"https://....","
createdDateTime":"2012-03-16T09:24:26.527Z","cTag":"xxxxxx","eTag":"xxxxxx",
"id":"xxxxxx","lastModifiedDateTime":"2021-01-07T09:47:03.933Z","name":"root
","size":1402092,"webUrl":"https://....","createdBy":{"user":{"displayName":
"xxxxx","id":"xxxxx"}},"lastModifiedBy":{"user":{"displayName":"xxxxx","id":
"xxxxx"}},"parentReference":{"driveId":"xxxxx","driveType":"personal"},"file
SystemInfo":{"createdDateTime":"2012-03-16T09:24:26.526Z","lastModifiedDateT
ime":"2012-03-16T09:24:28.287Z"},"folder":{"childCount":9,"view":{"viewType
":"thumbnails","sortBy":"name","sortOrder":"ascending"}},"root":{}}


 よろしくお願いします。

[ ]
RE:38648 Hidemarnet Explorer with FTPS No.38651
h-tom さん 21/01/12 19:46
 
h-tom です。

> 問題の箇所の修正と、その他似たような処理が無いかのチェックもしてまたアップ
>ロードさせていただきました。
>
>https://hide.maruo.co.jp/software/bin/hmexs451_signed.exe
>
> すみませんがこれで1回動作確認お願いしたいです。
V4.51でクラッシュすることはなくなりました。
別のPCで、最初からOneDriveを設定し接続した場合でも問題ありません。

ただ、Hidemarnet Explorer/秀丸エディタ本体のどちらの問題かわかりませんが、
OneDrive上のファイルをダウンロードし開くと、以下のダイアログが表示されます。
(秀丸エディタ Ver.8.96β9 x64)

---------------------------
秀丸エディタ
---------------------------
Input file must be a full path name.
---------------------------
OK  
---------------------------

「FTPで開く」-> OneDriveに接続しファイルを選択 -> 「ファイルの転送処理中」の
ダイアログが表示 -> ファイル内容が表示されると同時に、上記ダイアログが出てく
る。
filenameキーワードは「ftp://skydrive.live.com/選択したファイル名」になってま
す。

[ ]
RE:38651 Hidemarnet Explorer with FTPS No.38655
秀まるお2 さん 21/01/13 08:58
 
 動作確認ありがとうございます。

 「FTPで開く」の後に出てくるメッセージですが、その内容のメッセージ文字列を
ソースコードから検索したんですが、Hidemarnet Explorer with FTPSからも秀丸エ
ディタからも見つからないようなので、たぶん自動起動用に指定してるマクロがあっ
て、それが出してるんじゃないかという気がします。

 常駐秀丸エディタのメニューの一番下に「マクロ中断!」が出てるならマクロが出
してるんだと思います。

 とりあえずの動作確認にご協力お願いしただけなので、マクロがエラーメッセージ
を出してるのなら問題無い(マクロも直さなくていい)と思います。

[ ]
RE:38655 Hidemarnet Explorer with FTPS No.38657
h-tom さん 21/01/13 20:15
 
h-tom です。

> 動作確認ありがとうございます。
>
> 「FTPで開く」の後に出てくるメッセージですが、その内容のメッセージ文字列を
>ソースコードから検索したんですが、Hidemarnet Explorer with FTPSからも秀丸エデ
>ィタからも見つからないようなので、たぶん自動起動用に指定してるマクロがあって、
>それが出してるんじゃないかという気がします。
確認ました。
自動起動マクロを止めたら出なくなったのでマクロですね。
マクロファイルにgrepかけても出ないと思ったらDLL側でした。

ということで、Hidemarnet Explorer with FTPS は問題なしです。

[ ]
RE:38657 Hidemarnet Explorer with FTPS No.38658
秀まるお2 さん 21/01/14 08:53
 
 毎度確認ありがとうございます。ぼちぼちV4.52ってことでアップロードさせてい
ただきます。

[ ]