くだすれDelphi(超初 ..
[
2ch
|
▼Menu
]
■コピペモード
□
スレを通常表示
□
オプションモード
□このスレッドのURL
■項目テキスト
656:デフォルトの名無しさん 10/05/13 07:35:18 >>654 >特に後者は、確実に refCnt いじってメモリーリークしているので危険。 w: WideString; s: String; w := '幹事'; s := AnsiString(Pointer(w)); がリークするの? FastMM4は沈黙してるけど。 657:654 10/05/13 12:26:30 Windows では、WideString は、OLE 文字列や BSTR 互換なので、 AnsiSting とは、メモリ管理方法が異なる。 WideString は、SysAllocStringLen などで 領域確保しているので FastMM4 の管理外。 WideString のオフセット -4 には、長さに相当するバイト数が 格納されていて、それ以外はしらん。 しかし、AnsiString を代入するときは参照カウントが格納されている オフセット -8 の refCnt フィールドを調べたり、いじったりする。 658:デフォルトの名無しさん 10/05/13 12:39:38 WideString (BSTR) は参照カウンタ管理されていないので、ストリングのコピーが複製になるため「遅い」 という問題を回避するために導入されたのが参照カウンタ付き UnicodeString なわけなので WideString 側には refCnt なんてフィールドはありませんよ。 UnicodeString と混ざってしまっているかな?
次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
レスジャンプ
mixiチェック!
Twitterに投稿
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch
5081日前に更新/277 KB
担当:undef