GetFirstDocTemplatePositionについて

[戻る]
MarkedOne 2008/10/31(金) 19:00:31
Win2000 SP4 VC++2005 Win32APIで開発を行っています。
また、まだプログラムを初めて1ヶ月でWin32が少しわかってきた程度でMFCはさっぱりです。
ここで示さなければ行けない情報を示しきれていないかもしれませんが質問させてください。

現在ある製品のSDKを用いてアプリを作ろうとしているのですが
そのSDKのサンプルプログラムがMFCでしか用意されていないため
Win32アプリにMFCのコードが混在するという状況になっています。
(既存のWin32アプリに機能追加しようとしているため)

コンパイルは通るのですが
POSITION pos;
pos =::AfxGetApp()->GetFirstDocTemplatePosition();
↑が実行されると
appui2.cppの
POSITION CWinApp::GetFirstDocTemplatePosition() const
{
if(m_pDocmanager == NULL)
云々
}
↑の部分でメモリのアクセス違反が発生します。
この次の処理としてはあたらしくウインドウを作ってそこに描画するようなプログラムに
なっています。
ちなみにウインドウの作成はWin32で行っていますがMDIの指定はしていません。

試しにpos=0として次に進んでみましたがアクセス違反は出ないものの新しいウインドウ
が生成されることはありませんでした。

pos =::AfxGetApp()->GetFirstDocTemplatePosition();
に相当するような別のプログラムやアクセス違反が出ないように書き直すにはどうしたら
いいでしょうか?
よろしくお願いします。

2008/10/31(金) 22:35:00
無茶だな
mfcアプリじゃないから

そもそもドキュメントビューなんて必要なのか?
たぶん誤魔化そうとするくらいならいらない処理

必要ならmfcアプリ作るといい

MarkedOne 2008/11/01(土) 13:11:50
pos=
の部分はサンプルプログラムからひっぱってきたまんまなんです。
なのでほかのコードで代用できるものがあればおしえていただきたいな、と思っています。

おっしゃるとおりMFCで作れればいいのですが現在あるWin32のプログラムに機能追加した
いと考えているので
MFCにする場合はそのプログラムをMFCに移植する作業というのが発生するわけです・・・。

そしておそらくこの部分さえコードが通れば作成中のプログラムがほとんど完成するので
はないかと思います。
(他の部分は問題なく動作するため)

ITO 2008/11/01(土) 13:54:55
「GetFirstDocTemplatePosition() 」はMFC独自の「ドキュメント ビュー形式」
(でよかったでしょうか?)で使う方法です。
SDKにはないと思います。
まぁーMFCはSDKを使いやすくしたものですから、SDKで同じ機能のものを作れない
ことはないと思いますが。
僕も分かりませんし、かなり難しいと思います。

ITO 2008/11/01(土) 15:19:35
修正です
>で使う方法です。
で使うMFC独自の関数です。

ITO 2008/11/01(土) 15:24:19
追記
あと、何のためにMFCアプリを追加しなければいけないのか理由を書いてもらえると、
SDKでどうするのかアドバイスできるかもしれません。

MarkedOne 2008/11/01(土) 16:24:01
#include <afxwin.h>
を宣言しているのでほかのMFCコードは動いている(?)と思います。
追加したい機能はほとんどMFCのサンプルプログラムから引っ張ってきていますが
問題は今のところトピックの部分だけで、ここをコメントアウトすることで
他の部分は動いています。

MFCを追加する理由ですが・・・
大学で今ある実験システムにカメラシステムを追加しようとしています。
そしてそのカメラシステムを購入したのですが、
カメラを制御するプログラムを作ろうしてつまずいています。
カメラシステムに付属していたソフトのSDKを使って
今まであった実験システムの制御プログラムにカメラを制御する機能を追加しようとして
いるわけです。

そして具体的にはあと必要なのはカメラのプレビュー画面だけなのです。
問題のところはWM_CASE云々で関数が呼び出され、一行一行進む中で
新しいウインドウが作成されてそこにプレビュー映像が表示されるようです。

posが
pos =::AfxGetApp()->GetFirstDocTemplatePosition();
で取得されたあとに
CDocTemplate* pTemplate;
pTemplate = ::AfxGetApp()->GetNextDocTemplate(pos);
CDocument* pDoc = pTemplate->OpenDocumentFile(NULL);
とウインドウが生成されていっているようです。

pos=0としたときはアクセス違反が発生せずに実行できたので
posになにか値を与えてあげればそれでいいような気もします。
(もちろんウインドウは生成されませんでしたが)


どこまで情報を出すべきなのかわかっていません。
小出しにしているようで本当に申し訳ありません。

rin 2008/11/01(土) 21:24:38
ひっぱてきてる部分は
「MFCのドキュメントアーキテクチャを利用している場合に
 その機能を利用する方法」
部分であって、
「カメラ画像をビューに出す」
とは無関係に近いです

たとえば
>CDocument* pDoc = pTemplate->OpenDocumentFile(NULL);
OpenDocumentFileなんかは、ウィンドウを生成する命令ではありません
ドキュメントアーキテクチャにおいて
ドキュメントを開く目的であり、その一環でウィンドウが開いてるだけ

MFCを無理やり通すことより
WIN32でビューを出す方法を勉強したほうが
近道だと思います。

経験者 2008/11/02(日) 14:18:00
ハードインタフェースはUSBかな?

MarkedOne 2008/11/02(日) 17:39:28
>>rinさん

>OpenDocumentFileなんかは、ウィンドウを生成する命令ではありません
>ドキュメントアーキテクチャにおいて
>ドキュメントを開く目的であり、その一環でウィンドウが開いてるだけ
それはまったく知りませんでした。ただウインドウを作成しているだけではないのですね

もしよろしければWin32でビューを取得する方法を解説しているHPなどがあれば
おしえていただけませんか?
検索した限りでは発見することができませんでした。


>>経験者さん
ギガビットイーサネットを使ったカメラです。


rinさんに教えていただいたことで少しどうなってるのかわかってきました。
また小出しになってしまいました。本当に申し訳ありません。すべて書きます。
//表示用ウインドウを,カメラ数分開く
CDocTemplate* pTemplate;
POSITION posView;
POSITION pos;
pos =::AfxGetApp()->GetFirstDocTemplatePosition();
if(pos != NULL)
{
    pTemplate = ::AfxGetApp()->GetNextDocTemplate(pos);
    if(pTemplate)
    {
        for(UINT n = 0; n < m_pCaptures->GetCaptureCount(); n++)
        {
            //ドキュメントをクリエイト
            CDocument* pDoc = pTemplate->OpenDocumentFile(NULL);

            //ビューを取得
            posView = pDoc->GetFirstViewPosition();
            CView* pView = pDoc->GetNextView(posView);

            //キャプチャーオブジェクトのセット
       ((CSample1View*)pView)->SetRdCapture(m_pCaptures->GetCapture(n));
        }
    }
}
ちなみにここでm_pCapturesというのはそれまでの流れで
カメラ関連の設定データを格納しているようです。(カメラSDKのもの)
SetRdCaptureはキャプチャーオブジェクトのセットをする関数です(カメラSDKのもの)
GetCaptureで接続されているカメラの個数を数えています(これもカメラSDK)

CSample1View以下にプレビューウインドウに対する操作(マウスクリックなど)への
反応を示すプログラムが書かれています。
こちらはなんとか再利用したいと考えています(労力的に)

CSample1Viewでは
void CSample1View::OnDraw(CDC* pDC)
{
// TODO: この場所にネイティブ データ用の描画コードを追加します。
if(m_pCapture)
    m_pCapture->OnDraw(FALSE);
}
とされておりここで描画されているようです。


重ね重ね情報を小出しにしてしまい申し訳ありません。

wclrp ( 'o') 2008/11/02(日) 20:18:07
まえがき
MFCなしは最近全くしていないのでよく覚えてないので間違ったこと書くかも。
動作確認せずに回答することが多い。
MFCなしでMFC使うということなので何が起こるかわからん。
俺は今VC++2005を使用してない。

> m_pCaptures->GetCaptureCount()
カメラ複数台に対応しているということかな?
あなたのアプリもカメラ複数台に対応するのですか?

グローバル変数使うことにする。
俺の説明が楽だから。

const int max_capture_count = 10; // これを超えるキャプチャは無視
int capture_count = 0;
HWND g_hView[max_capture_count] = {0};
CSample1View * g_pView[max_capture_count] = {0};
CDocument * g_pDocument[max_capture_count] = {0};

あなたのプログラムのどこかビューを作成するところで
Win32APIで普通にウィンドウを作るか。

        for(UINT n = 0; n < m_pCaptures->GetCaptureCount(); n++)
        {
            //ドキュメント
            このあたり私にはわかりません

            //ビューを取得
            このあたり私にはわかりません

            //キャプチャーオブジェクトのセット
       ((CSample1View*)pView)->SetRdCapture(m_pCaptures->GetCapture(n));
        }

MFCじゃないから自動ではウィンドウを作ってくれないのでどうするか?
普通にWin32Apiでウィンドウ作るか。

ウィンドウプロシージャってどんなんだか忘れた。
以下は俺の空想
for(UINT n = 0; n < m_pCaptures->GetCaptureCount(); n++)
{
    g_pView[n] = new CSample1View;
    CreateWindow(このあたりはあなたが作る);
}

つづく

wclrp ( 'o') 2008/11/02(日) 20:44:09
つづき
俺の空想なので正しいか知らない。

>#include <afxwin.h>
>を宣言しているのでほかのMFCコードは動いている(?)と思います。

あなたのプログラムのメッセージループが動いていて
MFCのメッセージループは機能していないはず。

このサンプルCSample1Viewがドキュメントを必要としているのか俺は知らないから
CDocumentについては無視しとく。

RegisterClassとかウィンドウプロシージャやウィンドウ作成はあなたが行うこと。

ウィンドウプロシージャを仮名WndProcとする。

LRESULT WndProc( HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam )
{
    if(Msg == WM_CREATE)
    {
        g_hView[capture_count] = hWnd;
    }
}
これはビューが複数ある場合、どのhWndのとき、どのg_pView[hoge]がわかるように。

と思ったが、STLのマップを使った方が楽だな。
ビューが複数ないなら必要ない。

以下面倒なのでビューはg_pViewひとつしかない前提で話を進める。
--省略--
case WM_CREATE:
{
    g_pView->m_hWnd = hWnd;
    return g_pView->OnCreate((LPCREATESTRUCT)lParam);
}
break;
case WM_PAINT:
{
    HDC hdc=BeginPaint(hWnd,&ps);
    CDC cdc;
    cdc.Attach(hdc);
    g_pView->OnPaint(&cdc);
    cdc.Detach();
    EndPaint(hWnd,&ps);
}
break;
--省略--

でも、やっぱ不安だなあ。
CSample1View内にMFCを必要とする処理があるかどうか俺には分からんから。

wclrp ( 'o') 2008/11/02(日) 20:50:09
MDIじゃないってことはSDIってことであり複数カメラに対応していないってことなら

> for(UINT n = 0; n < m_pCaptures->GetCaptureCount(); n++)

これはまずいね。

maru 2008/11/03(月) 12:13:24
> ちなみにここでm_pCapturesというのはそれまでの流れで
> カメラ関連の設定データを格納しているようです。(カメラSDKのもの)
> SetRdCaptureはキャプチャーオブジェクトのセットをする関数です(カメラSDKのもの)
> GetCaptureで接続されているカメラの個数を数えています(これもカメラSDK)
この辺のコードを見た限り、CSample1Viewで必要としているのはm_pCapturesのデータ
であり、CDocTemplateやCDocumentは必要ないように思われる。ただサンプルではその
データをドキュメント側に置くようになっているのでそのデータを取得している。
MarkedOneさんの方ではこのm_pCapturesのデータをどのように管理するかをちゃんと
設計する必要があるだろう。

> CSample1View以下にプレビューウインドウに対する操作(マウスクリックなど)への
> 反応を示すプログラムが書かれています。
> こちらはなんとか再利用したいと考えています(労力的に)
CSample1ViewはCViewかCViewの派生クラスから派生されたのもだろうから、やはり
ドキュメント−ビューアーキテクチャが分かっていないと再利用はむずかしいだろう。

いずれにせよサンプルプログラムの内容を理解せずに再利用なんか無理。
まずは各々の関数が何をやっているのか理解すること。再利用はそれから。

Ban 2008/11/03(月) 14:18:50
> もしよろしければWin32でビューを取得する方法を解説しているHPなどがあれば
> おしえていただけませんか?

根底としてMFCを使わないのであれば、
ここでいうビューなんてものはMFCの中にしかないので、
(突き詰めていけばWin32でいうHWNDのラッパにすぎない)
非MFCのWin32でそんなものは取れないし、仮に無理やりとっても、
MFCはMFCの枠の中で動いてますから、部品だけそのまま持ってきても、
まともに動かないので意味がないわけですが。

MFC->Win32の移植というのは、MFCのコードから使えるものを抜き出しつつ、
MFCが隠してくれていたコードをさらけ出す作業になるわけです。

「ビューを取る」というのは多分、方向性としては危険。
「電子機器をばらして部品から別の機器を組み立てる」ような行為ですので、
各部品の規格も知らない人間にはできないと思ったほうがよいです。

> いずれにせよサンプルプログラムの内容を理解せずに再利用なんか無理。
> まずは各々の関数が何をやっているのか理解すること。再利用はそれから。


で、あと大前提としてそのSDKがMFCに依存してないかの確認は大事。
もしどっかで依存してたら、初心者には移植できない可能性も…。
・まず、SDKの資料で、MFC非依存でも動くことを確認する。

そして、もしプログラム自体の学習が目的でないなら、
・SDKの提供元に、非MFCでのサンプルがもらえないか交渉する
なども検討してはどうでしょうか?
ベンダと、お願いの仕方によっては、非MFC版のサンプルをくれるとか、
少なくともなんらかヒントをくれるとかはありえると思うのですが。

# ベンダ次第ですが、たいてい最初の一回の質問くらいは、
# 無償でもなんらかヒントくらいくれたりしますので、
# 巧く聞いてみてください。
# もしくは、場合によっては、有償のテクサポに金を積むとか…。

# MFC依存のSDKなのだとしたら「無理」といわれるか、
# 「お客様での移植のヒントだけ提示されて終わるか、
# 受託開発などを提案されるか、等がありえると思いますが、
# SDK自体が非依存なのだとしたら、(分かってる人には)
# そんなに難しい移植とも思えず…。

Ban 2008/11/03(月) 14:22:47
仮に、CSample1Viewを単一のHWND SampleWindowに置換するとしたら、
コメントアウトしたところは全部不要。(これらはMFCのためのもの)

//    CDocTemplate* pTemplate;
//    POSITION posView;
//    POSITION pos;
//    pos =::AfxGetApp()->GetFirstDocTemplatePosition();
//    if(pos != NULL)
//    {
//        pTemplate = ::AfxGetApp()->GetNextDocTemplate(pos);
//        if(pTemplate)
//        {

        for(UINT n = 0; n < m_pCaptures->GetCaptureCount(); n++)
        {
//                //ドキュメントをクリエイト
//                CDocument* pDoc = pTemplate->OpenDocumentFile(NULL);
//    
//                //ビューを取得
//                posView = pDoc->GetFirstViewPosition();
//                CView* pView = pDoc->GetNextView(posView);
//    

            //キャプチャーオブジェクトのセット
       ((CSample1View*)pView)->SetRdCapture(m_pCaptures->GetCapture(n));

        }
        
//        }
//    }

つまり、
あらかじめm_pCapturesというものができているのであれば、
やっていることの根幹はこれだけ。

for(UINT n = 0; n < m_pCaptures->GetCaptureCount(); n++)
{
    //キャプチャーオブジェクトのセット
    xxxxxxSetRdCapture(m_pCaptures->GetCapture(n));
}

xxxxxxSetRdCaptureの部分は、
おそらくCSample1View::SetRdCapture()という関数があるはずなので、
そいつの処理内容を *うまく* 移植すればよいはず。
# どうすればよいかは、全体像が見えないと分からない。

> CSample1View以下にプレビューウインドウに対する操作(マウスクリックなど)への
> 反応を示すプログラムが書かれています。
> こちらはなんとか再利用したいと考えています(労力的に)

CSampleView相当になるHWND SampleWindowを作って、
中身を改造して使うということは多分、*知識があれば*可能ですが、
その関数のまんま使うということは多分、難しいと思っていてください。

かりに、このHWNDに登録するWndProcがSampleWindowProcならば、
そこのなかには、例えばこんな感じの代物が必要だったり。

LRESULT CALLBACK
SampleWindowProc(.....)    // エラーチェックや引数などは省略
{
    static XXXXXXXXX*    m_pCaptures;    // 例えば

    switch(....)        // メッセージなどは省略
    {
    case WM_CREATE:
        // 例えばこのあたりで何かを生成?
        break;
    case WM_PAINT:    // OnDrawなんてMFCにしかないので *うまく* 置換する
        BeginPaint(...);    // エラーチェックや引数などは省略
        
        if(m_pCapture)    m_pCapture->OnDraw(FALSE);
        
        EndPaint(...);        // エラーチェックや引数などは省略
        break;

      // 他にも終了処理とか含め、いろいろと書く…

    default:
        return ::DefWindowProc();        // エラーチェックや引数などは省略
    }
    return 0;
}

MarkedOne 2008/11/03(月) 21:32:57
みなさまたくさんのレスありがとうございます

>>wclrp ( 'o')さん
>>#include <afxwin.h>
>>を宣言しているのでほかのMFCコードは動いている(?)と思います。
>あなたのプログラムのメッセージループが動いていて
>MFCのメッセージループは機能していないはず。

afxwin.hをインクルードしたらコンパイルが通ったのでよし、だと思っていました。

> for(UINT n = 0; n < m_pCaptures->GetCaptureCount(); n++)

の部分はなくしてGetCaputureCount(1)とする予定なので大丈夫です
提案してくださったプログラムを明日試してみます。

>>maruさん
>いずれにせよサンプルプログラムの内容を理解せずに再利用なんか無理。

まったくその通りなんですがなにぶん時間がないもので・・・。
Win32の勉強は少しずつ進めているのですが、MFCはほとんど手をつけられていません。。

>>Banさん
>で、あと大前提としてそのSDKがMFCに依存してないかの確認は大事。

SDKがMFCに依存していると言うことがあり得るのですか・・・。
SDKの説明書にはまったく記述されていませんが一つ気になることがあります。
それは

>SDKの提供元に、非MFCでのサンプルがもらえないか交渉する

についてなんですが以前Win32のサンプルプログラムをもらえないかどうか聞いたところ
MFCしか用意していないと言われました。
これはもしかするともしかするんでしょうか(T_T)

またそのサポートというのがサポートのメールに対して返信すらしないというすごい会社
でして・・・
というのはトピックとは関係ないので詳しくは書きませんが
サポートはまったく当てにならないところでした・・・

それとわかりやすい説明ありがとうございます。
明日試してみます。


-------------------------------------------------------------------------
もしBanさんのおっしゃるとおりMFC依存のSDKだったとしたら
Win32でやること自体無理ということになるでしょう。

wclrp ( 'o')さんとBanさんに教えていただいたコードでも埒があかないようであれば
MFCのサンプルプログラムに既存のWin32のコードを移植することにしようと思います。


MFCはWin32の機能を扱いやすくしたものということなので
Win32からMFCへの移植というのはたいがい楽にいったりするものなのでしょうか?

Ban 2008/11/04(火) 00:52:16
> SDKがMFCに依存していると言うことがあり得るのですか・・・。

SDKメインで販売してるならあえて幅をMFCに狭める必要はないと思いますが、
とりあえず、(仕事で)Windows用コード書いてる人は、たいていMFC使ってる(or使える)と
思いますので、実はそんなに商売の幅も狭まらないのかもしれません。
# それこそ.NET frameworkからでも呼びようはあるわけで。

で、ハードとかメインで販売しててそのおまけSDK的なものだと、ありえるのかなぁと…。
# 実例を確認したわけではなく、単にSDK(Software Development Kit)であって、
# それが非MFCで動くとか動かないとかは、これだけでは分からないというだけの話ですが。

一般的には、非MFCでも動くものが多いのではないかと思いますので、
「MFCへの切り替え」も慎重に判断ください。
「ありもの」が既にある以上、それが決して近道とは限りませんので。

-------------------------------------------------------------------------
> MFCはWin32の機能を扱いやすくしたものということなので
> Win32からMFCへの移植というのはたいがい楽にいったりするものなのでしょうか?

「MFCの作法」を覚えるという、Win32とはまた別の知識習得が必要です。
Win32とMFCの作法が中途半端に混ざると混沌とする可能性もありますので、お気をつけて。

最終的にどこまでMFC化するかにもよりますが、必ずしも全てをMFC化(リライト)する必要はなく、
枠組みをMFCにしてあげた上で、非MFCなWin32APIを使うということは可能ですので、
(逆は、MFCがまっとうに動かない可能性大)、
ベースさえMFCにしてあげたら後は現状のまま、という選択肢もありえるかもしれません。

いずれにせよ、MFCについて知らないことには、どこが必要とか、
どこがぶつかるとか判断はできないと思いますので勉強は必要だと思いますが、
この点で書き換えは多少手を抜きうるのかなと思います。
(まぁ、どこかで統一した方が以後のメンテはやりやすいと思いますが)

半可通 2008/11/04(火) 08:44:36
>MFCを追加する理由ですが・・・
>大学で今ある実験システムにカメラシステムを追加しようとしています。
>そしてそのカメラシステムを購入したのですが、
>カメラを制御するプログラムを作ろうしてつまずいています。
>カメラシステムに付属していたソフトのSDKを使って
>今まであった実験システムの制御プログラムにカメラを制御する機能を追加しようとし
>て
>いるわけです。

画像はJPEGですか それでしたら CPictureというMFCクラスがネットに公開
されている
実際それでつくりコンパイルして動かしたら簡単にプレビューできた
当該クラスを使うのも一方法かと

maru 2008/11/04(火) 09:36:48
自分で書いた文だけど、

> いずれにせよサンプルプログラムの内容を理解せずに再利用なんか無理。
> まずは各々の関数が何をやっているのか理解すること。再利用はそれから。
サンプルプログラムの内容を「完全に」理解する必要はないが、少なくとも
MFCの関数とSDKの関数の区別が分かっている必要がある。
それが分かれば、SDKの使い方(呼び出し順、引数、等)が分かり、自分で
使うことができるようになる。
そもそもSDKのリファレンスマニュアルはないの?

> まったくその通りなんですがなにぶん時間がないもので・・・。
前にどこかで書いたような気がするけど、試行錯誤してその時動作しても、
ほんのちょっと変更を加えただけで、動作しなくなって泥沼化することは
良くある。何事も「急がば回れ」。

仲澤@失業者 2008/11/04(火) 09:59:23
「当該のSDKがMFCに依存していない」という条件なら、
サンプルは参考にするのみに留めて、
当該SDKの(関数)仕様書のみを頼りにして、
簡単な実証プログラムを書くのが近道でしょう。

MFCの部分はビューウインドウの開け閉めと、
そのビューに一対一に対応するドキュメントの
割り当てやメニューとの対応を自動化しているだけです。
しかし、わりと隠蔽度合いが強いので、コード間
の関連を推測しづらいのが特徴。つまり知識が無いと
サンプルからMFCだけを取り外すのはほぼ不可能で、
不毛な作業となります。

おそらく、MFCを取り除いた後の残りは、
SDKの関数だけとなるでしょう。
それなら最初からSDKの説明だけを採用したほうが
ましだと考えられます。

PATIO 2008/11/04(火) 17:03:37
MFCを使うと楽と言う話は、MFCの中の隠蔽された部分で
どのアプリでも行なうような汎用的な部分の処理をやってくれるからです。
但し、この隠蔽された部分を使う為にはMFCをベースにしてアプリを構築
しないと表に見えない部分でいろいろな事をやっている可能性があるので
何もかも理解していないとWin32APIベースのプログラムの中に
MFCのウインドウ管理の機能やドキュメント−ビューのアーキテクチャを
撞球するのは多分無理です。
逆にMFCでベースを作成してそのベースの中で必要な部分にWin32APIを
使うと言うのが正解でしょうね。

あと、もう一つ言うならそのSDKがMFC無しで動くのであれば、
SDKの関数の説明書から使い方はある程度わかるのではないかと思います。
特にMFCに依存していないなら引数を見れば、何を渡せば良いかも分かりそうです。
そういう意味ではMFCを使ったサンプルに関しては参考程度にして
実際には使わないと言うのもありえる選択だと思います。
Win32APIでのプログラミングの知識があるのであれば、
そっちの方が早いような気がしますね。
Win32APIでのプログラミングの知識が怪しいなら
いっその事、MFCの勉強をするのもありかもしれませんけれど。

PATIO 2008/11/04(火) 17:05:12
あうあう。誤字

> MFCのウインドウ管理の機能やドキュメント−ビューのアーキテクチャを
> 撞球するのは多分無理です。

MFCのウインドウ管理の機能やドキュメント−ビューのアーキテクチャを
導入するのは多分無理です。

撞球って一体なんだ。(^^;

MarkedOne 2008/11/05(水) 19:28:34
[[解決]]
>>Banさん
結局みなさんに教えてもらったプログラムでも動作しませんでしたので
カメラのサンプルプログラム(MFC)をベースに作ることにしました。
Win32→MFCへの移植に際してはDAボード等の制御をするのですが
この部分に関しましては研究室のほかの人たちのほうがよく知っていて
いろいろ知恵を借りることができると思います。(Borlandを使っているのですが)
ありがとうございました。

>>半可通さん
SDK内部でどう処理されているかはわかりませんが保存をするときはbmpで保存されます。
ギガビットイーサネットを使った変態カメラ(?)なので
そういう汎用のもので動くのかどうかわかりませんね・・・。(完全に想像ですが)

>>maruさん
そのマニュアルというのが・・・
各関数の簡単な説明が載っていたりはするのですが
具体的にどのような処理手順なのかといったことはまったく書いてありません・・・
ダメダメです

>>仲澤@失業者さん
書いてあるプログラム自体はほとんどC++のように見えるんですよね・・・
でもMFCもC++であったりするわけで。お手上げでした。。

>>PATIOさん
結局MFCをベースに作成することにしました。
スムーズに進むことを祈ってます。



みなさまありがとうございました。
また質問することがあるかもしれませんがそのときはまたよろしくお願いします。

古いスレッドには追加発言できません。