Essbase APIを使用すると、Essbase管理サーバーおよびMaxLが使用する関数の多くに無制限にアクセスできます。
この項は、最も一般的な障害を特定して解決するためのクイック・リファレンスです。
問題 |
解決策 |
---|---|
メモリーの割当て時または解放時に、プログラムで保護違反が発生しています。 |
Cプログラムでは、次の点を確認します:
Essbaseが使用しないメモリーにアクセスするときにエラーが発生していても、Essbaseメモリー管理スキームとユーザーのスキームの間に、干渉がある場合があります。自身のカスタム・メモリー管理関数を定義することを検討できます。 |
API関数を呼び出すと、ユーザーのプログラムはEssbaseエラーを生成します。 |
ほとんどのEssbaseエラー・メッセージは説明を必要としません。問題がどこにあるかはかなり明白なはずです。ただし、次に注意すべきよくあるエラーをいくつか示します(%nは、コンテキストに特有の文字列と置換されるメッセージ引数を示します):
|
プログラムが確実にAPI関数からEssbaseエラーの戻りコードを受け取っていてもメッセージが表示されないか、または「メッセージ・データベース内のメッセージ#%1に対するメッセージはありません」というメッセージが生成されます。 |
内部APIエラーにはメッセージを表示できないものがありますが、これは通常、メッセージが発生した際にユーザーのコンテキスト情報が使用できないためです。この場合には、関数から戻ったエラー・コードのノートを作成し、messages.txtのエラー・メッセージのリストを参照して、対応するメッセージ・テキストを見つけます。エラー定数自体はesserror.hに含まれています。 |
APIで定義された構造体のフィールドへアクセスした結果、このフィールドの値が誤っているか、数バイトずれているように見えます。 |
お使いのコンパイラが、構造体のバイト境界が揃っていることをデフォルトで確認するかどうか確認します。その問題がまだ発生する場合は、APIヘッダー・ファイルの最新バージョンでコンパイルしていて、最新のAPI DLLとリンクしていることを確認します。 |