Open .vbox file and find following lines.
<Machine uuid="{xxxxxxxxxx-xxxx-xxxx-xxxxxxxx}" name="Windows7" OSType="Windows7_64" stateFile="{xxxxxxxxxx-xxxx-xxxx-xxxxxxxx}.sav" currentSnapshot="{xxxxxxxxxx-xxxx-xxxx-xxxxxxxx}" snapshotFolder="Snapshots" lastStateChange="2020-02-01T11:11:111">
and remove red part.
2020年2月3日月曜日
2019年9月25日水曜日
reinterprit_cast
I met strange situations.
There were reinterprit_cast in the code.
The code was working when it was developed by Visual Studio 2008.
But I changed to Visual Studio 2010, the code make access violations at delete the pointer and its memory.
The class was derived from 2 classes.
I am not sure if it were related on this issue.
I inspected the address of the pointer.
The pointer address was shift 2 byte from first pointed address at deletion.
I changed from reinterprit_cast to Simple Cast.
After that, access violations were blowed out.
Strange...
2019年3月12日火曜日
DPI change test (MFC dialog base applicatoin)
These codes are the result of try and error.
It means not so good codes.
SaveAppLayout and UpdateLayoutForDPI function should not be callback function.
// save current size
SaveAppLayout(this->m_hWnd,(LPARAM)this);
// Resize child windows
// ::EnumChildWindows(this->m_hWnd, SaveAppLayout, (LPARAM)this); // Not necessary
Add to Header
afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
afx_msg void OnPaint();
DECLARE_MESSAGE_MAP()
virtual LRESULT WindowProc(UINT message, WPARAM wParam, LPARAM lParam);
Add to Dlg.cpp
BOOL CALLBACK SaveAppLayout(HWND hWnd,LPARAM lParam)
{
CDPIChangeTestDlg* pParent = (CDPIChangeTestDlg*)lParam;
int iDpi = GetDpiForWindow(hWnd);
// Get current size(at 96 DPI base)
CRect rect;
::GetWindowRect(hWnd, &rect);
pParent->mResMap[hWnd] = rect;
// recalc size
double rate = iDpi / 96;
rect.left *= rate;
rect.top *= rate;
rect.right *= rate;
rect.bottom *= rate;
// resize
SetWindowPos(hWnd, hWnd, rect.left, rect.top, rect.Width(), rect.Height(), SWP_NOZORDER | SWP_NOACTIVATE | SWP_NOMOVE);
return TRUE;
}
BOOL CALLBACK UpdateLayoutForDpi(HWND hWnd, LPARAM lParam)
{
CDPIChangeTestDlg* pParent = (CDPIChangeTestDlg*)lParam;
try {
int iDpi = GetDpiForWindow(hWnd);
// calc current DPI and rate from 96 DPI
double rate = iDpi / 96;
CRect rect = pParent->mResMap[hWnd];
int dpiScaledX = rect.left / rate;
int dpiScaledY = rect.top / rate;
int dpiScaledWidth = rect.Width() / rate;
int dpiScaledHeight = rect.Height() / rate;
// resize
SetWindowPos(hWnd, hWnd, dpiScaledX, dpiScaledY, dpiScaledWidth, dpiScaledHeight, SWP_NOZORDER | SWP_NOACTIVATE | SWP_NOMOVE);
}
catch (...) {
return FALSE;
}
return TRUE;
}
void CDPIChangeTestDlg::OnSysCommand(UINT nID, LPARAM lParam)
{
if ((nID & 0xFFF0) == IDM_ABOUTBOX)
{
CAboutDlg dlgAbout;
dlgAbout.DoModal();
}
else
{
CDialogEx::OnSysCommand(nID, lParam);
}
}
LRESULT CDPIChangeTestDlg::WindowProc(UINT message, WPARAM wParam, LPARAM lParam)
{
switch (message) {
case WM_DPICHANGED:
{
// Resize
UpdateLayoutForDpi(this->m_hWnd, (LPARAM)this);
// Resize Child Windows
// ::EnumChildWindows(this->m_hWnd, UpdateLayoutForDpi, (LPARAM)this); // Not necessary
}
break;
}
return CDialogEx::WindowProc(message, wParam, lParam);
}
download all source here
2018年12月8日土曜日
filament case
I made filament case for 3D printer.



Parts bellow.
https://www.thingiverse.com/thing:569333
https://www.thingiverse.com/thing:1750875
2018年8月26日日曜日
C#+ NLua (Byte Array)
I wanted to use Byte Array between Lua Script and C#.
I read many site, but I couldn't get solution,
I visit NLua site today and it was description of using dotnet object from Lua Script.
So I finally get solution as following.
C# code.
Lua Sctipt
I read many site, but I couldn't get solution,
I visit NLua site today and it was description of using dotnet object from Lua Script.
So I finally get solution as following.
C# code.
_lua = new NLua.Lua();
_lua.LoadCLRPackage();
_lua.RegisterFunction("SendData", this, this.GetType().GetMethod("SendData"));
public void SendData(object dat)
{
byte[] byteData = (byte[])data;
// you can use ByteData from Lua Script
}
Lua Sctipt
import ('System')
byteData = Byte[4] -- create 4 length Byte Array
byteData[0] = 0x00
byteData[1] = 0x11
byteData[2] = 0x22
byteData[3] = 0x33
SendData(byteData) -- Call C# Function from Lua
2018年7月6日金曜日
VisualStudio2017
VisualStudio2017でMFCで組んでる人、
日本に居ないの?
ダイアログベースでプロジェクト作って、
ダイアログリソースをいじって、
普通にコンパイルするとLANGUAGE のとこにカンマが無いとエラーが出る。
見てみると、
LANGUAGE 17、1
のようになってる。
「、」のところを「,」に変えると普通にコンパイルできるのだが、
もう一度ダイアログのどこかのリソースをいじるとまた同じエラーが出る。
MSも把握していて治すと聞いていたのだが、
いつ治すの?
日本に居ないの?
ダイアログベースでプロジェクト作って、
ダイアログリソースをいじって、
普通にコンパイルするとLANGUAGE のとこにカンマが無いとエラーが出る。
見てみると、
LANGUAGE 17、1
のようになってる。
「、」のところを「,」に変えると普通にコンパイルできるのだが、
もう一度ダイアログのどこかのリソースをいじるとまた同じエラーが出る。
MSも把握していて治すと聞いていたのだが、
いつ治すの?
chinachu その後
RaspberryPiのCPU負荷はまだ余裕がある。
電波レベルも問題なし(フジテレビとかNHKとか)
しかし、録画すると録画済みリストに同じ名前が2つ並ぶ。
これ、フォーラムでも報告されていたのだけど、
問題が解決できていないらしい。
この状態になると、ファイルとしては一つなのだが、
ブロックノイズが混ざったファイルが出来ている。
今の所VLCで直してみたりしているけど、
修復しても結構長い時間ロスト状態で画面が固まるようなファイルが出来てしまう。
ブロックノイズの原因がチューナにある可能性も否定できない。
どのチューナで録画されたのかも分かるようにログを吐き出してもらえないもんだろうか
電波レベルも問題なし(フジテレビとかNHKとか)
しかし、録画すると録画済みリストに同じ名前が2つ並ぶ。
これ、フォーラムでも報告されていたのだけど、
問題が解決できていないらしい。
この状態になると、ファイルとしては一つなのだが、
ブロックノイズが混ざったファイルが出来ている。
今の所VLCで直してみたりしているけど、
修復しても結構長い時間ロスト状態で画面が固まるようなファイルが出来てしまう。
ブロックノイズの原因がチューナにある可能性も否定できない。
どのチューナで録画されたのかも分かるようにログを吐き出してもらえないもんだろうか
2018年5月24日木曜日
chinachu+RaspberryPi+PX-SU1D Ver2 x 2
Chinachu + RaspberryPi で録画サーバをセッティングしたのだが、
当初よりもかなり動きが悪く、具体的に言うと、録画したものが壊れていたりサーバが死んだりしはじめた。
まだ全容はわからないけど、少しだけ理由が絞れてきた。
結果から話すと、チューナが怪しい。
このチューナ、かなり熱を持つのだ・・・熱暴走してるんじゃないだろうか
これまでの現象は以下5つ
1.使っていた当初はわりと調子が良かったのだが、だんだん録画にノイズが入るようになった。
2.アンテナの接続があまかったのを直したが、たまにノイズが入るのは変わらなかった。
3.録画が始まるようになってサーバが落ちるようになった。キャッシュを増やしたことで、サーバは落ちなくなったようだが、録画したファイルの品質がたまに悪くなっていたのは変わらず。
4.RaspberryPiの温度を測ってみたら85℃、これはCPUがクロック落とす温度なので、クーラーを付けた。それでも、録画が始まってしばらくすると落ちる。
4.RaspberryPiの温度を測ってみたら85℃、これはCPUがクロック落とす温度なので、クーラーを付けた。それでも、録画が始まってしばらくすると落ちる。
5.録画できたファイルが2Gもあるのに、18秒程度しか再生できなくなった。しかも、録画済みファイルが2つ出来ていた。(この現象はchinachuサイトでも上がっていたが、バグなのかどうか不明として放置されている)
チューナは2つついている。
これらのことから、チューナの一つが壊れているのではないかと推測し、もう1つチューナを購入し、2つのチューナと付け替えながら録画してみて、怪しいチューナを特定した。
新しく買った方も壊れていた場合、チューナを1つだけにして運用し、取り替える事になったと思うが、幸運なことに新しく買ったチューナは動いてくれたようだ。
結果、現在は普通に録画出来るようになった。(録画4回テストして問題ない。)
ただし、以前のように運用中にチューナが壊れる可能性は高い・・・もう少しまともに動くものはないんだろうか・・・
2018年3月15日木曜日
AppleTVにAmazonPrimeVideoがインストール出来るようになってた
たまに検索してたんだけど、いつの間にかAppleTVに、AmazonPrimeVideoがインストール出来るようになっていた。
あちこち検索してみたら、2017年12月7日以降インストール出来るようになってたらしい。
ところで、AppleTVもTVのリモコンで操作できるんですね
AppleTVにはiPadProと同じCPUが入ってるらしく、AmazonFireStickより断然早い。
4k版のAppleTVにはiPhoneXと同じCPUが入っているらしい。
あちこち検索してみたら、2017年12月7日以降インストール出来るようになってたらしい。
ところで、AppleTVもTVのリモコンで操作できるんですね
AppleTVにはiPadProと同じCPUが入ってるらしく、AmazonFireStickより断然早い。
4k版のAppleTVにはiPhoneXと同じCPUが入っているらしい。
2018年3月7日水曜日
MSADO + Oracle 12r2
ありえない話なのだが、、、
Oracle12r2になってから、VBScriptで普通にSelect文を実行すると、
本来200件のレコード件数が300件になって返ってくる。
しかも最初の一度だけ、二度目からは正常な件数が得られる。
どうもしきい値が200件近辺らしく、
100件だったら100件のデータが得られるようだ。
しかし、1000件だったら1100件になって返ってくる。
信じられない・・・何してくれてんだOracle・・・
ちなみにADOは内部でOracleClientを使っているらしい。
つまり、ADOだけ入れても、OracleClientをインストールしないと、
Oracleには接続できないということだ。
(最初からインストールしてたんで、そういう環境で試したことはないけど)
Oracle12r2になってから、VBScriptで普通にSelect文を実行すると、
本来200件のレコード件数が300件になって返ってくる。
しかも最初の一度だけ、二度目からは正常な件数が得られる。
どうもしきい値が200件近辺らしく、
100件だったら100件のデータが得られるようだ。
しかし、1000件だったら1100件になって返ってくる。
信じられない・・・何してくれてんだOracle・・・
ちなみにADOは内部でOracleClientを使っているらしい。
つまり、ADOだけ入れても、OracleClientをインストールしないと、
Oracleには接続できないということだ。
(最初からインストールしてたんで、そういう環境で試したことはないけど)
追記
cursorLocatinを、adUseServerにするとだめで、
adUseClientにすると正常な件数返ってくる。
重ねて言うが、r1ならどちらも動く
RaspberryPiには3Aの電源が必要だ!
RaspberryPiにOSMCをインストールしてみた。
今現在、うちでは3台のRaspberryPiが稼働している。
OSMCについては、どうも動きが良くないので、知り合いに聞いてみたところ、
電源ではないかと指摘を受けた。
確かにOSMCに使っていたのは、iPhoneのアダプタで、
録画サーバに使っていたのはIQOSのアダプターだ。
IQOSのアダプタは多少大きめだが、それでも2Aだった。
これはアンペア数が少ないのかもしれない。
アマゾンで早速3Aのアダプタを購入し、取り替えてみた所、
今までの不具合が嘘のように改善された。
具体的にどのような不具合があったかというと以下の通り
今現在、うちでは3台のRaspberryPiが稼働している。
- 会社のホームページ、メールサーバ、owncloud
- OSMC(今回インストール)
- Chinachu録画サーバ(ダブルチューナにしてる)
OSMCについては、どうも動きが良くないので、知り合いに聞いてみたところ、
電源ではないかと指摘を受けた。
確かにOSMCに使っていたのは、iPhoneのアダプタで、
録画サーバに使っていたのはIQOSのアダプターだ。
IQOSのアダプタは多少大きめだが、それでも2Aだった。
これはアンペア数が少ないのかもしれない。
アマゾンで早速3Aのアダプタを購入し、取り替えてみた所、
今までの不具合が嘘のように改善された。
具体的にどのような不具合があったかというと以下の通り
- OSMCのコンテンツ再生中に、突然再生が止まる現象
- FTPでOSMCにアップするとき転送速度が遅かった
- OSMCで動画再生中に先送り巻き戻しがとても遅かった
- OSMCからDLNAプレイヤーで再生しているときも先送り巻き戻しが遅い
- Chinachu録画サーバの再起動時にminidlnaが起動しなかった
上記5に関してはserviceの登録を何度かやり直したので、それで治ったのかもしれないが、1から4に関してはまったく無問題になった。
やはり、外付け2.5インチHDDを使うにはそれなりの電源が必要だったということだ。
登録:
投稿 (Atom)
-
どうも書かなくてはならないネタが出来てしまった。 マルチスレッドには欠かせないSleep(0)についてだ。 自分はSleep(0)を多用していた。 MSDNの記述 によると 「中断時間として 0ms を指定してこの関数を呼び出すと、現在のスレッドは自らに割り当てられている...
-
https://social.msdn.microsoft.com/Forums/vstudio/en-US/f0502813-9c4f-4b45-bab8-91f98971e407/popup-popupstaysopen-togglebutton-and-data-bindi...