喫茶XRAYトップページ
[
スレッド全体
]
[4732]
Re3:XEのバグでしょうか?・・PS
返信
削除
2011/5/10 (火) 15:03:14
DEKO 〔
HomePage
〕
SizeOf() はバイト数を返します。
StrTempPath: Array[0..MAX_PATH] of Char;
↓
StrTempPath: Array[0..MAX_PATH] of AnsiChar; <- ANSI 版 Delphi
StrTempPath: Array[0..MAX_PATH] of WideChar; <- Unicode 版 Delphi
ですので、Unicode 版 Delphi で SizeOf(StrTempPath) を実行すると
522 ("(260 + 1) * 2") が返ってきます。
一方、GetTempPath() の引数は "TCHAR 単位" です。
TCHAR というのは...
ANSI の時 → 1 エレメント = バイト
Unicode の時 → 1 エレメント = ワード
ですので、正しくは
GetTempPath(Length(StrTempPath), StrTempPath)
となります (ANSI でも Unicode でも)。
[SizeOf の呼び出し (DocWiki)]
http://
docwiki.
embarcad
ero.
com/
RADStudi
o/
XE/
ja/%
E3%
82%
A2%
E3%
83%
97%
E3%
83%
AA%
E3%
82%
B1%
E3%
83%
BC%
E3%
82%
B7%
E3%
83%
A7%
E3%
83%
B3%
E3%
82%
92_Unico
de_%
E5%
AF%
BE%
E5%
BF%
9C%
E3%
81%
AB%
E3%
81%
99%
E3%
82%
8B#
SizeOf_.
E3.
81.
AE.
E5.
91.
BC.
E3.
81.
B3.
E5.
87.
BA.
E3.
81.
97
[4733]
Re4:XEのバグでしょうか?・・PS
返信
削除
2011/5/10 (火) 15:06:26
Mr.XRAY
わっ,DEKOさんとダブった.1秒違い
私の場合にエラー発生がないのは,文字数の違い等,たまたまでしょうね.
では,参考リンク
sizeof
http://
docwiki.
embarcad
ero.
com/
RADStudi
o/
ja/
Sizeof
[4734]
Re5:XEのバグでしょうか?・・PS
返信
削除
2011/5/10 (火) 15:11:28
Mr.XRAY
あっ,DEKOさんのリンクのほうがいい!
残念... ちょっと悔しい...
[4735]
Re5:XEのバグでしょうか?・・PS
返信
削除
2011/5/10 (火) 15:15:03
DEKO 〔
HomePage
〕
> わっ,DEKOさんとダブった.1秒違い
わたしまけましたわ...orz
> 私の場合にエラー発生がないのは,文字数の違い等,たまたまでしょうね.
StrTempPath の後のアドレスに有効なデータが格納されてないか、
データ破壊されても問題なければ動作する可能性はありますね。
# なまじ動いてしまうと検証が難しいんですよね。
[4736]
Re6:XEのバグでしょうか?・・PS
返信
削除
2011/5/10 (火) 15:25:20
Mr.XRAY
> わたしまけましたわ...orz
おっ,私の方が早かった.
むふふ.勝ったぜい! ってはり合ってどうする.
> # なまじ動いてしまうと検証が難しいんですよね。
クライアントに納入したらエラーが... とか.嫌なパターンです.
それにしても,いよいよWindows 7の世界が始まってきている実感がします.
[4737]
Re7:XEのバグでしょうか?・・PS
返信
削除
2011/5/10 (火) 15:41:42
Syake
・・・・全然違っとった。m(__)m
GetTempPath(Length(StrTempPath),StrTempPath);
でピンポーンでした。
ラベルが違った。 う〜む。
[4738]
Re8:XEのバグでしょうか?・・PS
返信
削除
2011/5/10 (火) 15:46:03
Mr.XRAY
▼ Syakeさん
> ・・・・全然違っとった。m(__)m
えっ?,ゴメン.Syakeさんのレス,全然見ていなかった... m(_ _)m
>// GetTempPath(SizeOf(StrTempPath),StrTempPath);//------>Error
>StrTempPath:='C:\Windows\';//---->OK
これだけ読んでレスしていまいました.
[
▼次のスレッド
]
INCM/CMT
Cyclamen v3.82