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 (記載なし)

PowerSpaceの運営は、パワーフューチャー株式会社が行っております。
Copyright © 2013 Power Future Co., Ltd.