[表示 : 全て 最新50 1-99 2chのread.cgiへ]
Update time : 03/18 02:24 / Filesize : 19 KB / Number-of Response : 83
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Win32API質問箱 Build104



1 名前:デフォルトの名無しさん [2012/02/12(日) 18:33:47.34 ]
スレ立てるまでもない、Win32APIのついての質問はこちらへどうぞ。
やさしいお兄さんやHなお姉さんたちが答えてくれるかも。
「知らないならレスしないで下さい。ウザイだけです。 」なんて言わないでねっ!

■過去スレ
Win32API質問箱 Build103
toro.2ch.net/test/read.cgi/tech/1327846801/

■注意
・質問する前にMSDNライブラリやPlatformSDK、Google等で検索しましょう。
・日本語版MSDN Online Libraryは不完全です。
 英語版( msdn.microsoft.com/en-us/library/ )の利用推奨。
・APIフックなど高度な事をしたい場合はできるだけAdvenced Windowsを読みましょう。
・言語特有の問題やIDE、MFCやVCLなどの質問はそれぞれの言語や開発環境スレで

- Win32API質問箱 wiki
wiki.livedoor.jp/program1/d/FrontPage

過去スレはwikiから探してください。

81 名前:デフォルトの名無しさん [2012/02/13(月) 13:37:05.16 ]
プログラム例のようにv.bstrValを毎回更新する場合に
::SysFreeStringを毎回呼ばないとメモリリークしてしまいます
やりたいことはbstrValの内容の更新で、確保解放を繰り返さなくても
コピーが実現できる方法ありませんか?
文字列をmemcpyで更新するかのような方法が知りたいです

(例)
VARIANT v = {0};
VariantInit(&v);
v.vt = VT_BSTR;
for( int i = 0; i < 100000; i++ )
{
if( v.bstrVal != NULL )// 初回以降毎回bstr更新する
::SysFreeString(v.bstrVal);
v.bstrVal = _bstr_t(_T("文字列の内容が変わる")).copy();//vの値を更新する
// vを使って何かしら処理する
Sleep(1);
}

82 名前:デフォルトの名無しさん mailto:sage [2012/02/13(月) 14:02:54.02 ]
>>81
SysReAllocStringすれば良きに計らってくれるはず






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](*・∀・)<19KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef