AB4.11.00で、「StrPtr()」の補完機能で「StrPtr(buf As *Byte) As *Byte」となっていますが、「StrPtr(buf As String) As *Byte」では無いのでしょうか?
(ヘルプでは「StrPtr(ByRef strData As String) As BytePtr」となっています)
このままだとbufをそのまま返しているのと同じだと思うのですが・・・?
これは大丈夫なのでしょうか?
-
- 記事: 203
- 登録日時: 2005年5月31日(火) 20:14
- お住まい: 兵庫県
おそらく大丈夫なはずです。
ActiveBasicの仕様では、String→*Byteの代入では自動でポインタ値が渡されるためです。
※それなら文字列リテラルも渡せると思ったのですが、渡せませんでした。調べてみると、system\string.sbpとsystem\string64.sbpに共にStrPtr()が定義されており、補完機能はstring64.sbpのほうを参照しているのに、実際に使われるのはstring.sbpというやっかいなことになっています(^^;;
ActiveBasicの仕様では、String→*Byteの代入では自動でポインタ値が渡されるためです。
※それなら文字列リテラルも渡せると思ったのですが、渡せませんでした。調べてみると、system\string.sbpとsystem\string64.sbpに共にStrPtr()が定義されており、補完機能はstring64.sbpのほうを参照しているのに、実際に使われるのはstring.sbpというやっかいなことになっています(^^;;
[hira]
http://hira.hopto.org/
http://hira.hopto.org/