ページ 11

これは大丈夫なのでしょうか?

Posted: 2005年11月14日(月) 20:21
by Mario2
AB4.11.00で、「StrPtr()」の補完機能で「StrPtr(buf As *Byte) As *Byte」となっていますが、「StrPtr(buf As String) As *Byte」では無いのでしょうか?
(ヘルプでは「StrPtr(ByRef strData As String) As BytePtr」となっています)
このままだとbufをそのまま返しているのと同じだと思うのですが・・・?

Posted: 2005年11月14日(月) 20:42
by hira
おそらく大丈夫なはずです。
ActiveBasicの仕様では、String→*Byteの代入では自動でポインタ値が渡されるためです。
※それなら文字列リテラルも渡せると思ったのですが、渡せませんでした。調べてみると、system\string.sbpとsystem\string64.sbpに共にStrPtr()が定義されており、補完機能はstring64.sbpのほうを参照しているのに、実際に使われるのはstring.sbpというやっかいなことになっています(^^;;