PB 電子会議室
発言No. | 更新日 | 題名(クリックすると発言内容と関連するコメントが表示されます) |
---|---|---|
6692 | 99/06/10 13:20:18 | RE(4):PB5.0.04: blobの動的な領域確保の方法 By Kasi |
6691 | 99/06/10 12:45:40 | RE(3):PB5.0.04: blobの動的な領域確保の方法 By あすかちゃんの父 |
6686 | 99/06/10 11:13:02 | RE(2):PB5.0.04: blobの動的な領域確保の方法 By M.M |
6685 | 99/06/10 10:47:16 | RE(1):PB5.0.04: blobの動的な領域確保の方法 By Taka |
6684 | 99/06/10 10:28:55 | PB5.0.04: blobの動的な領域確保の方法 By あすかちゃんの父 |
カテゴリ:スクリプトの記述
日付:1999年06月10日 11:13 発信者:M.M
題名:RE(2):PB5.0.04: blobの動的な領域確保の方法
あすかちゃんの父さん、こんにちは。
>メモリ領域の動的な確保についての質問ですが。
>
>PBのblob型のデータは、最大2Gbyteまでの領域を扱うことが
>出来ますが、このblobメモリの領域を動的に確保するにはど
>うしたらいいのか、ご存知の方おられませんか?
>具体的には、API等のI/FでPB側でメモリ領域を確保してやる
>場合に、
>string ls_temp = space(60000)
>として、このls_tempをblobにキャストしているのですが、こ
>の方法ですと、string型の最大バイト数以上の領域は確保でき
>ませんし、blobにキャストする意味もない感じです。
PB5.xのバグ(?)を利用した解決方法があります。
PB5.xのString型の最大長は、ヘルプ等を見ると60,000バイトとなっていますが、
PB5.xの32bit版では、実際にはそれ以上の長さの文字列を使えてしまいます。
以下のスクリプトを実行すると、Blobの長さとして100,000が返ってきます。
String sp1
Blob blob1
Long len1
_
sp1 = Space(100000)
blob1 = Blob(sp3)
len1 = LenB(blob1)
MessageBox(\"Blobの長さ\",\"len1=\"+String(len1))
#String型の最大長が60000バイトになっているのは、16bit版との互換性を考慮して
この長さになっていると推測しています。
PB6.xでは、この現象はどうなっているんでしょうか?
付加情報:
PowerBuilder Version (記載なし)
Client SoftWare
OS Windows NT 4.0
DBMS (記載なし)
Browser (記載なし)
Server SoftWare
OS (記載なし)
DBMS Sybase SQL Anywhere Server
WebServer (記載なし)
Copyright © 2013 Power Future Co., Ltd.