Iwao Dev

気付いたことをメモしています.

この画面は、簡易表示です

2020 / 11月

FBX SDK サンプルのビルド

FBX SDK 付属のサンプルをビルドしようと思い ヘルプ を見て同様に操作しようとするが,プロジェクトファイル(*.vcxproj)が見当たらない?
…\FBX\FBX SDK\ 以下を新しいものから順に見ると,2019.0 には vcxproj が存在している.
FBX SDK 2019.0 samples
c:\Program Files\ 以下はあまり汚したくないので,..\FBX SDK\2019.0\ 以下を E: ドライブにコピー.
最初 include や lib などはなくても良いかと思ったが,vcxproj での追加のインクルードやライブラリが相対位置の指定になっているのでそのままコピー.
FBX SDK 2019.0 サンプル vcxproj
コピーした …\2019.0\samples\ に「空のソリューションファイル」を作成.
ソリューションに幾つかのプロジェクトを追加してビルド.
FBX SDK 2019.0 ExportScene03

この投稿は役に立ちましたか? 役に立った 役に立たなかった 0 人中 0 人がこの 投稿 は役に立ったと言っています。

  にほんブログ村 IT技術ブログへ

  • カテゴリー:

T90Chi Windows Update その後 – 2

先日 T90Chi に Win10 x86 をインストール できたが,タッチパネルや「Fn」キーを押しながらの操作(ボリュームや画面の明るさ)ができないでいた.
ドライバ類をを入れなければならないのはわかっていたが,見当たらない?と思いそのままに.
次のページに入り「OSを選択してください」で「Windows 10 32-bit」を選択.
https://www.asus.com/jp/supportonly/T90CHI/HelpDesk_Download/
ASUS T90Chi ドライバ ダウンロードページ
「すべてを表示する」を選択しないと表示されないものがいっぱいあった.


その中の「SOC Driver Package」が必要だった.
他にも「ASUS Live Update Utility」をダウンロードしてインストール.
「SOC Driver Package」のインストールで最初失敗した?が,再起動後やり直してうまくいった.

この投稿は役に立ちましたか? 役に立った 役に立たなかった 4 人中 4 人がこの 投稿 は役に立ったと言っています。

  にほんブログ村 IT技術ブログへ


NAS の SSH 接続設定

Synology NAS
「コントロールパネル」-「端末とSNMP」-「ターミナル」タブ
Synology NAS SSH 設定


QNAP NAS
「コントロールパネル」-「ネットワークとファイル」-「Telnet/SSH」
QNAP NAS SSH 設定


ASUSTOR NAS
「サービス」-「端末」-「SSH」
ASUSTOR NAS SSH 設定


Win10 の「コマンド プロンプト」から次の様なコマンドで接続できる.
ssh -l Iwao as5202t
Win10 コマンド プロンプトから SSH 接続


2021/03/31
ポート番号は 22 から他のものに変更して設定してください.例えば 54322 など.
その場合,ssh -p 54322 -l Iwao as5202t の様に接続します.

この投稿は役に立ちましたか? 役に立った 役に立たなかった 0 人中 0 人がこの 投稿 は役に立ったと言っています。

  にほんブログ村 IT技術ブログへ


CListBox などのオーナードロー

リストスクロール時,動作が逆に見える現象の調査のため調べたこと.


WinCore.cpp CWnd::OnMeasureItem での CtlType の値

/*
 * Owner draw control types
 */
#define ODT_MENU        1
#define ODT_LISTBOX     2
#define ODT_COMBOBOX    3
#define ODT_BUTTON      4
#if(WINVER >= 0x0400)
#define ODT_STATIC      5
#endif /* WINVER >= 0x0400 */
/*
 * Listbox Styles
 */
#define LBS_NOTIFY            0x0001L
#define LBS_SORT              0x0002L
#define LBS_NOREDRAW          0x0004L
#define LBS_MULTIPLESEL       0x0008L
#define LBS_OWNERDRAWFIXED    0x0010L
#define LBS_OWNERDRAWVARIABLE 0x0020L
#define LBS_HASSTRINGS        0x0040L
#define LBS_USETABSTOPS       0x0080L
#define LBS_NOINTEGRALHEIGHT  0x0100L
#define LBS_MULTICOLUMN       0x0200L
#define LBS_WANTKEYBOARDINPUT 0x0400L
#define LBS_EXTENDEDSEL       0x0800L
#define LBS_DISABLENOSCROLL   0x1000L
#define LBS_NODATA            0x2000L
#if(WINVER >= 0x0400)
#define LBS_NOSEL             0x4000L
#endif /* WINVER >= 0x0400 */
#define LBS_STANDARD          (LBS_NOTIFY | LBS_SORT | WS_VSCROLL | WS_BORDER)
// Measure item implementation relies on unique control/menu IDs
void CWnd::OnMeasureItem(int /*nIDCtl*/, LPMEASUREITEMSTRUCT lpMeasureItemStruct)
{
	if (lpMeasureItemStruct->CtlType == ODT_MENU)
	{
	//	...
	}
	else
	{
		CWnd* pChild = GetDescendantWindow(lpMeasureItemStruct->CtlID, TRUE);
		if (pChild != NULL && pChild->SendChildNotifyLastMsg())
			return;     // eaten by child
	}
	// not handled - do default
	Default();
}

GetDescendantWindow で求めた pChild が NULL のため CListBox::OnChildNotify から MeasureItem が呼ばれない?
呼ばれた時の lpMeasureItemStruct->itemHeight は,ODT_LISTBOX は 18 ,ODT_COMBOBOX は 20 .
デバッガで高さを設定すると,その高さになる.
OWNERDRAWVARIABLE は項目ごとに呼ばれるが,OWNERDRAWFIXED の時はうまくない?


結局,VC 6 などの場合にそうなる(逆にスクロール)様子.
コモンコントロール Ver.6 を使う様にすることで回避できる.
コモンコントロール Ver.6 の指定
VC 6 exe などの場合は (VC6_app).exe.manifest ファイルを用意する.
視覚スタイルを有効にする

この投稿は役に立ちましたか? 役に立った 役に立たなかった 0 人中 0 人がこの 投稿 は役に立ったと言っています。

  にほんブログ村 IT技術ブログへ


T90Chi Windows Update その後

以前 Windows Update で,再起動を繰り返す状態になり そのままだった.
その後,幾つかの方法を試してみたが,BIOS 画面に入れずそのままとなっていた.
その時,音量の「-」と「電源ボタン」の同時長押しで起動すれば良い とあった.が,うまく入れないでいた.


久しぶりに調べてみると,USB キーボードを接続すれば良いとあったので試すとうまく BIOS 画面に入れた.
BIOS の起動は「F2」または「Delete」.「ESC」を押したときは「Please select boot device:」となる.
ESC を押して起動
F2 を押して起動
また,同じ様な状況になった人の記事も幾つかある.
ここまでは,昨日見つけた情報.


キーボード,マウス,Win10 インストール用 USB メモリ を接続して「ESC」を押して起動.
Win10 インストール用 USB メモリも接続して起動
インストールを進めて…
上の「アップグレード」は選択してもその先に進めない.「カスタム」を選択.
「インストールの種類」で「カスタム」を選択
4つのパーティションを削除.
パーティションを「削除」
「次へ」.
「次へ」を選択するとインストールが始まる
ライセンス認証は以前のものがそのまま引き継がれたみたい.
ライセンス認証
まだ設定は足りないが,何とか使えるようにはなった.


この投稿は役に立ちましたか? 役に立った 役に立たなかった 0 人中 0 人がこの 投稿 は役に立ったと言っています。

  にほんブログ村 IT技術ブログへ


ドライブ名からリモート名に

ネットワークドライブ名から UNC での表現に変換するコード.

#include	<clocale>
#include	"i_trace.hxx"

//#include	<winnetwk.h>
#pragma		comment	(lib,"mpr.lib")

tstring	W_get_remote_name	(LPCTSTR path_)
{
	tstring	dpath = path_ ;
	if (dpath.size() < 2)		{	return	dpath ;		}
	tstring	drive = dpath.substr(0,2) ;
	tstring	_path = dpath.substr(2) ;
	tstring	remote_path ;
	if (drive.length() == 2) {
		if (drive[1] == _T(':')) {
			u_16	d_t  = ::GetDriveType(drive.c_str()) ;
			if (d_t == DRIVE_REMOTE) {
				DWORD	buf_size = MAX_PATH ;
				tstring	remote_name ;
				remote_name.resize(buf_size+1) ;
				::WNetGetConnection(drive.c_str(),&remote_name[0],&buf_size) ;
				if (!remote_name.empty()) {
					remote_path = remote_name.c_str() + _path ;
					}
				}
			}
		}
	if (remote_path.empty())	{	return	dpath ;		}
	return	remote_path ;
	}

bool	Test	(void)
{
	for (long index=0 ; index<26 ; index++)	{
		tstring	drv  ;
				drv += TCHAR(_T('A')+index) ;
				drv += _T(":\\") ;
	//	if (index%2 == 0)
		{
			u_16	d_t  = ::GetDriveType(drv.c_str()) ;
			if (d_t == DRIVE_REMOTE) {
				drv += _T("*.*") ;
				v_tstring	files = ::EnumFiles(drv.c_str()) ;
				if (files.size() > 0) {
					drv = files[0] ;
					}
				}
			}
		drv += _T("                                      ") ;
		tstring	info = drv.substr(0,20) + _T("\t") + W_get_remote_name(drv.c_str()) ;
		{
			std::tout << info << std::endl ;
			}
		}
	return	true ;
	}

int	_tmain	(int argc,TCHAR* argv[])
{
	_tsetlocale(LC_ALL,_T("")) ;
	{
		::Test() ;
		}
	return	0 ;
	}

WNetGetConnection と net use
net use 」とコマンド入力することで似た様なことを確認できる.


管理者で起動した PowerShell の Get-SmbConnection で SMB のバージョンを確認できる.
ファイル共有で使われている SMB のバージョンを見る
Get-SmbConnection

この投稿は役に立ちましたか? 役に立った 役に立たなかった 0 人中 0 人がこの 投稿 は役に立ったと言っています。

  にほんブログ村 IT技術ブログへ


QNAP NAS Photo Station

QNAP NAS の Photo StationQphoto
インストールはしてみたが,他の NAS と比べると設定が難しい?
Qphoto メニュー
スマートフォンの写真のバックアップの設定がわからない.
実体が NAS 上のどこかも不明.何か設定が足らないのか?


AppCenter で新しくインストールしたり更新する時は LAN 2 のケーブルを抜かないとうまく動作しない.
他メーカの NAS は,デフォルトゲートウェイの設定でうまくいっている.


2021/01/29 QNAP NAS で写真のバックアップ
2021/02/03 QNAP NAS での写真管理

この投稿は役に立ちましたか? 役に立った 役に立たなかった 0 人中 0 人がこの 投稿 は役に立ったと言っています。

  にほんブログ村 IT技術ブログへ


ASUSTOR NAS Photo Gallery

今度は ASUSTOR NAS の Photo GalleryAiFoto
Photo Gallery 3 Beta も存在し,その場合は AiFoto 3
AiFoto
上が AiFoto ,下は AiFoto 3 .
AiFoto 3 では,前バージョンでの保存場所 \\AS5202T\PhotoGallery と,新しい保存場所の \\AS5202T\Home\MyPhoto が見える.
スクリーンショットなどはバックアップされない?


2020/11/21
外から VPN で接続してみると,Synology NAS と QNAP NAS は大丈夫だが ASUSTOR NAS は見えない.
ファイアウォールの設定でガードがかかっていたので,VPN 接続の場合通る様に変更.
ADM を起動して「設定」-「ADMディフェンダー」-「追加」.
ADM ディフェンダー VPN 接続時の IP アドレス追加

この投稿は役に立ちましたか? 役に立った 役に立たなかった 0 人中 0 人がこの 投稿 は役に立ったと言っています。

  にほんブログ村 IT技術ブログへ


Synology NAS Photo Station

スマートフォンを変えたことで「WD Cloud」アプリが使えなくなった?
それならばと思い,同じ様な目的で使えるものを Synology NAS で設定してみた.


「パッケージセンター」で「Photo Station」をインストール
インストール後のアイコンのクリックや次の様な入力で Photo Station を起動できる.
https://ds116/photo/
実体は \\DS116\photo に置かれる.
Synology NAS Photo Station  \\DS116\photo\


今度はスマートフォンでの「DS photo」の設定.
この時わかり難かったのが「バックアップ先」の指定方法.
アルバム(PC で言うフォルダ)を作成してそれを選択するのがわかり難い.
DS photo バックアップ先の指定
チェックボックスの存在がすぐにはわからなかった.


旧スマートフォンの moto g5 にも DS photo を設定.
PC で見ると,多くの jpg の更新日時が 2019/11/08 15:40 から 15:50 になっている.
原因は,この頃内蔵メモリの空きが少なくなり SD カードに移した ためと思われる.
Photo Station や DS photo では,画像ファイルに持っている撮影日時を使用しているので特に問題ない.
2 つの壊れた jpg があったため,これらのファイルのアップロードで何度もリトライして進まなかった.
一度アップロードを止めて,ファイルを削除することで対応.
壊れた jpg は,撮影時容量不足で途中までしか保存できなかった不完全な画像ファイル.

この投稿は役に立ちましたか? 役に立った 役に立たなかった 0 人中 0 人がこの 投稿 は役に立ったと言っています。

  にほんブログ村 IT技術ブログへ


std::vector のコピーで実行時エラー

std::vector のデータ vf3a をコピーしようとして実行時エラー.

---------------------------
Microsoft Visual C++ Debug Library
---------------------------
Debug Assertion Failed!
Program: c:\Temp\Test\T_gonsa\T_cmb_f\debug.080\T_cmb_f.exe
File: c:\program files (x86)\microsoft visual studio 8\vc\include\vector
Line: 741
Expression: vector subscript out of range
For information on how your program can cause an assertion
failure, see the Visual C++ documentation on asserts.
(Press Retry to debug the application)
---------------------------
中止(A)   再試行(R)   無視(I)   
---------------------------

原因は vf3a のサイズが 0 .
std::vector のサイズが 0 で実行時エラー
vf3a.size() が 0 より大きい時のみコピーする様に変更しなければならない.

この投稿は役に立ちましたか? 役に立った 役に立たなかった 0 人中 0 人がこの 投稿 は役に立ったと言っています。

  にほんブログ村 IT技術ブログへ



    top

    %d人のブロガーが「いいね」をつけました。