CMNロゴ

ICmnPilot::cmnMakePostData Method


投稿データを作成します。

Syntax

LPSTR  cmnMakePostData(
    TMakePostParam& MakePostParam
);

Parameters

MakePostParam

[in/out] 投稿データ作成パラメータ
以下の必要な項目を設定します。
idxBBS[in] 掲示板インデックス
lpPostStr[in] 投稿パラメータのアドレス
メタ文字を使用することができます。
使用できるメタ文字は ICmnPilot::cmnWriteBBSHead で使用する tBBSHead.lpPostParam で使用可能なメタ文字と同じです。
通常は pMes の lpPost をそのまま設定します。
pMes[in] 発言情報のアドレス
idStrCode[in] 投稿文字コード
以下のいずれかを指定することができます。
CODE_SJISシフトJIS
CODE_JISJIS
CODE_EUCEUC
CODE_UTF8UTF8
通常は DI_BBS_POSTCODE を指定した ICmnPilot::cmnGetData で得た文字コードを設定します。
bMultiPart[in] MultiPartフラグ
フォームのContent-Typeが「multipart/form-data」の場合に TRUE を設定します。
bNoEncode[in] エンコードしない
URLエンコードをしない場合に TRUE を設定します。
cPostData[out] 投稿データのサイズ
szBoundary[out] バウンダリー
bMultiPart が TRUE の場合に設定されます。
bAdmin[out] 管理者モードフラグ
管理者モードの発言の場合に TRUE が設定されます。
その他の項目0 で初期化されている必要があります。

Return Value

投稿データのアドレスが戻ります。
投稿データの領域を確保できなかった場合にはNULLが戻ります。

Remarks

投稿が終わったら戻り値のアドレスをICmnPilot::cmnFreeで開放しなければなりません。


Example

C++

         :
    int cSize;
    char *pPostData;
    TMakePostParam MakePostParam;

    memset (&MakePostParam, 0, sizeof (TMakePostParam));
    MakePostParam.idxBBS = m_idxBBS;
    MakePostParam.lpPostStr = Mes.lpPost;
    MakePostParam.pMes = &Mes;
    MakePostParam.idStrCode = m_idStrCode;

    if ((pPostData = m_pICmnPilot->cmnMakePostData (MakePostParam)) == NULL) {
        // エラー処理
        return;
	}
    
    // 投稿処理
         :
    m_pICmnPilot->cmnFree (pPostData);   // 投稿データ開放
         :

Delphi

var
    cSize: Integer;
    pPostData: LPSTR;
    MakePostParam: TMakePostParam;
         :

    FillChar (MakePostParam, sizeof (TMakePostParam), 0);
    MakePostParam.idxBBS := m_idxBBS;
    MakePostParam.lpPostStr := Mes.lpPost;
    MakePostParam.pMes := @Mes;
    MakePostParam.idStrCode := m_idStrCode;

    pPostData = m_pICmnPilot.cmnMakePostData (MakePostParam);
    if (pPostData = Nil) then
    begin
        // エラー処理
        return;
    end;
    
    // 投稿処理
         :
    m_pICmnPilot.cmnFree (pPostData);   // 投稿データ開放
         :



ICmnPilot