- 締切済み
別ソースファイルからの呼び出し
現在VC++6.0でプログラムをしています。 そこで基本的な質問かもしれないのですが 別のソースファイルからの呼び出しはどのようにおこなえばいいのでしょうか?具体的には 前略 void CDioBitDlg::OnButtonAioInputDiBit() { //デジタル入力 UpdateData(TRUE); short DiData; Ret = AioInputDiBit(Id, m_DioBit, &DiData); if(Ret != 0){ Ret2 = AioGetErrorString(Ret, ErrorString); TextString.Format("AioInputDiBit = %d : %s", Ret, ErrorString); m_ErrorString.SetWindowText(TextString); return; } TextString.Format("入力データ : %d", DiData); m_DioData.SetWindowText(TextString); m_ErrorString.SetWindowText("デジタル入力 : 正常終了"); } 後略 別のソース 前略 void CSimulatorWnd::OnPaint() { CPaintDC dc(this); //描写用のデバイスコンテキスト CRect cr; GetClientRect(&cr); dc.FillSolidRect(cr, RGB(0,0,0)); } 後略 前述のは入力信号をデジタルの1もしくは0で表示するダイアログプログラムなのですが この1もしくは0の値を後述のソースファイルに持ってくる場合どのようにすればよいのでしょうか?
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- cyacya2000
- ベストアンサー率54% (39/71)
#1ですが・・・ DiData変数の値をCSimulatorWnd::OnPaintで参照したいということですか? void CDioBitDlg::OnButtonAioInputDiBitをCSimulatorWnd::OnPaintから呼び出し手もかまわないのであれば、CDioBitDlg::OnButtonAioInputDiBitの戻り値としてDiDataの値を返す できないのであれば、DiData変数のアクセサを用意してそれを用いる。 DiData変数をグローバル変数にして、別ファイル側でextern宣言をする (ただし、グローバル変数にすることは、あまりお勧めしません) ということなのでしょうか?
- cyacya2000
- ベストアンサー率54% (39/71)
>別のソースファイルからの呼び出しはどのようにおこなえばいいのでしょうか? 何を呼び出すのですか? 具体例を見ても良くわからなかったので詳しく説明していただけますか。