メモリ使用量を超過した場合にアプリケーションがメッセージ等を表示せずに終了する

バグ情報

PowerBuilder で作成した 32bit アプリケーションにおいて、使用可能なメモリを超えた場合にアプリケーションがメッセージ等を表示することなく終了する不具合が確認されています。

Bug ID 2852
Product PowerBuilder EN/JP
ステータス Appeonにて検証中
発生バージョン EN 12.6以前 2017 2017 R2 2017 R3 2019
JP 12.6以前 2017 R2 2017 R3

:発生バージョン    :解決済み、未発生    :未確認

詳細

PowerBuilder でプラットフォームを “32ビット” として作成したアプリケーションについて、使用可能なメモリを超えると終了メッセージが表示されずにアプリケーションが終了します。

たとえば、SaveAs メソッドを使用して大量のデータを XLSX に出力する場合や大量のデータを検索した場合などに発生します。

回避策

本不具合に関する回避策は以下となります。

  • アプリケーションを 64bit で作成する
    • メモリ使用量を増やすため、プラットフォームを “64ビット” としてアプリケーションを作成してください。
  • データを分割して処理する
    • 特定の行数ずつ処理を行うなど機械的に分割する、また検索前に Count を取得して一定行数以上になる場合は警告を表示し、検索を行えないようにするなどプログラムを修正してください。

※データウィンドウの構成により使用可能メモリを超えるデータ数は異なるため、特定行以上といった目安はなく、処理可能なデータ数の算出を行うことはできません。

バグ情報 一覧を見る
PowerBuilder マイグレーション
PowerBuilder学習、動画で始めちゃう?