[リストへもどる]
一括表示
タイトルMyCpxの派生クラスからICmnPilotを使いたい
記事No140
投稿日: 2007/01/01(Mon) 17:29
投稿者営々
参照先http://homepage2.nifty.com/~eiei_yh/cmn_cgiboy_120_w.lzh
あけましておめでとうございます。

cmnWebRequestのメモリ管理が大変なので、MyCpxの派生クラスを作成しておき、その内部でcmnWebRequestを使うようにしてみました。

// MyCpxの関数追加定義部分

protected:
ICmnPilot *m_pICmnPilot;
String::String _ConvToString (LPCSTR lpStr);

// 新しいクラス
class MyGetPage : public MyCpx
{
public:
MyGetPage (void);
~MyGetPage (void);
BOOL _SetURL (char *lpURL);
BOOL WebRequest (); // cmnWebRequestと名前はかぶってるけど、別の関数。この中でcmnWebRequestを使っている



こんな感じです。ちなみにcgiboy用cpxを書き換えたやつが参照先のサンプルです。

しかし…このクラスのメンバ関数からICmnPilotの関数を使おうとするとCMNが落ちてしまうのです。COMオブジェクトじゃないからなんでしょうか…

ソースの直し方などで、お知恵を拝借いただけないでしょうかm(_ _)m

タイトルRe: MyCpxの派生クラスからICmnPilotを使いたい
記事No141
投稿日: 2007/01/02(Tue) 18:31
投稿者営々
結局、別のクラスのメンバ関数をMyCpx直下のメンバ関数として作り直しました(関数の引数がかなり増えてしまいましたが)

一旦作ったプログラムのメンテをするって大変なんですね…いつもDECOさんに気軽に不具合報告を出してますが、いつもお疲れ様です->DECOさん

タイトルRe2: MyCpxの派生クラスからICmnPilotを使いたい
記事No145
投稿日: 2007/01/08(Mon) 14:42
投稿者DECO
営々さん、こんにちは。

>一旦作ったプログラムのメンテをするって大変なんですね…いつもDECOさんに気軽に不具合報告を出してますが、いつもお疲れ様です->DECOさん

メンテは長期間触ってないと忘れてしまって結構大変ですね。(^o^;)
定期的に触るようにわざと不具合を入れてたりして・・・。(爆)

DECO

タイトルRe: MyCpxの派生クラスからICmnPilotを使いたい
記事No142
投稿日: 2007/01/05(Fri) 13:05
投稿者うぇいく
MyGetPageのインスタンスの、m_pICmnPilotに、ちゃんと値を設定していますか?
# 私なら、pICmnPilotはコンストラクタの引数にします。このクラスが動作する上で必須だし。

# あと、なぜ、MyCpxからの派生なんだろう・・・?へんに継承した項目や関数を未初期化のまま使ったりしないようにObjectとかから継承する(親なし)のほうがスマート且つ簡単なような。自分自身をCOMインタフェースを利用して返したりしない限り、要らないような。
-- CMN v0.50cβ --

タイトルRe2: MyCpxの派生クラスからICmnPilotを使いたい
記事No143
投稿日: 2007/01/05(Fri) 14:22
投稿者うぇいく
参照先http://weyk.air-nifty.com/none/cgiboy_test.zip
こんなかんじ?
# BorlandでCompileするために、String::String→std::stringに変更。
# 実際にエラーなく巡回できるかは未確認(localhostのてきとーなurlで404は確認)
# なお、ファイルまで分割されているのは、最近Javaが多いので、その影響です・・・
-- CMN v0.50cβ --

タイトルRe3: MyCpxの派生クラスからICmnPilotを使いたい
記事No144
投稿日: 2007/01/08(Mon) 13:42
投稿者営々
うぇいくさん、ありがとうございます。

頂いたサンプルソースをあちこちいじったら動作するようになりました!

ありがとうございますっ! 助かりました〜

# 継承した変数は自動的に初期化されるものと勘違いしておりました…orz