• ベストアンサー

VB.netである関数を呼んで、その関数内で呼び出し元関数を知る方法。

呼び出し元関数からある関数を呼びます。 その呼ばれた関数で、引数などで渡すのではなく、自然に前の関数の情報を取得できる方法はないでしょうか? どこかに、自然に保持されているとか? もし、不可能ならそういう答えもお待ちしてます。 よろしくお願い致します。 あと、もう一つ、普通のシステムでデバッグログなどはどうやって出すのでしょうか? 出す情報などがわかると幸いです。 ログについての詳しいことがのってるサイトでもあれば非常に助かります。 よろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • popesyu
  • ベストアンサー率36% (1782/4883)
回答No.1

自然にというのが意味不明なのですが、普通引数で渡すものですし、その手続きが出来ないのなら、モジュールレベルで変数を宣言して情報?を共有してしまえばいいかなと。 --- dim a as integer function aaa as integer  a=0  bbb() end function function bbb as integer dim b as integer  b=a end function デバッグログを外部ファイルに書き出したいということであるなら参考URLで。 ただ書き出す情報については開発する人が決めることですが・・・。一般的にこういう情報を書き出すなんてありませんよ。どういう情報を確認したいのかなんて開発者にしか分からないことでしょうに。 普通はあるエラーが発生した時に確認したい変数の値とか、環境情報だとか、そういうものを書き出すかと。 特に目的がないなら別に書き出す必要もないでしょう。

参考URL:
http://dobon.net/vb/dotnet/programing/tracelisteners.html
musashinakahara
質問者

お礼

ありがとうございました。 参考になりました。 わかりにくい質問で大変もうしわけありませんでした。

その他の回答 (1)

  • todo36
  • ベストアンサー率58% (728/1234)
回答No.2

> その関数内で呼び出し元関数を知る方法 http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?forum=7&topic=11733 > 普通のシステムでデバッグログ 意味不明 > ログについての詳しいことがのってるサイト .NETの情報はMSと@ITが詳しい。

musashinakahara
質問者

お礼

ありがとうございました。 参考になりました。 右も左もわからないので、おかしな質問をしてしまって、申し訳ありませんでした。

関連するQ&A

  • VB6で呼び出し元の情報を取得する方法について

    Win XP VB6 SP5 VB6で呼び出し元の情報を取得する方法について VB6で ・呼び出し元の関数本体が宣言されているソースのファイル名 ・呼び出し元の関数名 を取得する方法はありますでしょうか? システムログを生成する時に利用しようかと考えています。

  • 逆関数=元の関数となるxを求める問題

    f(x)=1/(1+e^-1) の逆関数を求めよという問題を解きました。 教えてもらいながら、答えはどうやら Y=log x / (1-x) で 0<x<1  だというところまで、理解できました。 次に、 【逆関数と元の関数のxが等しくなるようなxの値を求めよ】という問題が出ました。 元の関数には、logがついていないということもあり、どこから手を付けたらよいのかわからずにいます。 これをどのように進めたらよいのか、教えてください。 よろしくお願いします。

  • 関数の引数の型と引数名を取得する方法

    こんにちは。 コンパイル時に関数の引数の型と引数名を取得する手段はありますでしょうか? 関数名は__FUNCTION__がありますが、引数をなんらかの方法で取得したいのですが手段はありますでしょうか? foo(int a0, int a1 ) なら"int a0, int a1"みたいな感じで取得できればと思っています。

  • VB.NET DLL【API関数(コールバック関数)】の呼び出し方法について

    目的は下記(3)のAPI関数をVB.NETで呼び出したいのですが、そこにいきつくまでにいろいろと壁にぶちあたっております。 (1)API関数をVB.NETから利用するにあたって どのような手順および調査・学習すればVB.NETからWin32 APIを独力で呼び出せるようになるのでしょうか?ネット上に情報が乏しく、いきずまっております。 (2)API関数の調査方法、またコールバック関数について 下記(a),(b)のようにWin32 API関数を宣言して、あとは呼び出し側の関数で(a),(b)で宣言したAPI関数を記述するだけで基本的には使用できるようになるという大まかなイメージはつかめております。 このあとでAPI関数をMSDNで調べると引数がHWNDやPCTSTRなど見慣れないものが出てきて、次のURL(http://www.atmarkit.co.jp/fdotnet/dotnettips/024w32api/w32api.html)を見ると、APIの型とVB.NETの型は違うので型変換をしなければならないとあります。またさらに私が呼び出したい関数はコールバック関数なるものでこれまた?な状態です。 そこでAPIとVB.NETの型変換の調査方法およびコールバック関数の利用方法などを教えていただけないでしょうか? (a)DllImport属性を利用する方法 <System.Runtime.InteropServices.DllImport("DLL名")> _ Function API関数名(仮引数) End Function (b)Declareステートメントを利用する方法 Declare Function API関数名 Lib "DLL名" (仮引数) (3)InstallHinfSection関数(http://msdn2.microsoft.com/en-us/library/aa376957.aspx)について 下記のコードを実行したのですが、実行時エラーにはならないのですが、APIの関数が動作してくれません。どこが悪いのかがまったく見当がつかないのですがどなたかアドバイスいただけると助かります。 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click InstallHinfSection(Nothing, Nothing, "DefaultInstall 132 C:\INF_TEST\Original.inf", 0) End Sub   Declare Function InstallHinfSection Lib "setupapi" Alias "InstallHinfSection" (ByVal hwnd As String, ByVal ModuleHandle As String, ByVal CmdLineBuffer As String, ByVal nCmdShow As Integer) As Long APIが難しすぎていろいろとおかしなことを書いているかもしれませんが、どうぞよろしくお願いいたします。

  • VBでRegisterWindowMessage関数を利用したメッセージの取得

    ICカードのリーダにアクセスする開発ツールでコールバック関係のAPIが提供されているのですが、「メッセージ値の取得はWindows APIのRegisterWindowMessage関数を利用して行う」とマニュアルにあり、呼び元でどのようにコーディングしたらよいか知識不足の為、わかりません。。。 API開発元に照会するべき事は照会しようと考えていますが、VBにてRegisterWindowMessage関数を利用したメッセージの取得方法についてサンプル等あれば、教えてください。 (VBほとんど初心者に近い腕前です。よろしくお願いします。) 参考の為にAPIの引数を記載します。(APIはVC++及びVBにて使用可能でありマニュアル上の記載はVC++でされています。)   関数名:set_call_back_parameters 引数(in): int handle; //ハンドラ unsigned char* message_of_card_find;     //カード認識時送信メッセージ unsigned char* message_of_card_loss;    //カード認識NG送信メッセージ unsigned long inerval;    //認識行う間隔 ミリ秒 unsigned long retry_count    //リトライカウント値 回数  ※引数のうちhandleがメッセージ値取得に関連していると思われるのですが、何をセットするのかわかりません。 (API開発元に照会すべき事であればそうします。)

  • Excelの関数で引数を数える方法とは?

    大学の情報の授業で、次のような課題が出題されました。 「Excelの関数で引数を数える方法について述べなさい」 意味がよくわからないので、誰かわかりやすく教えてください。

  • VB 音の波形を取得する関数は?

    wavデータから、データを読み込んで、その音データの波形を解析したいと思っています。  とりあえずは、VBで開発し、wavデータを再生することまでできました。しかし、音の波形を取得するには、どうすればよいかわからず、ここで質問させて頂きます。  関数、API、サイトなど、何か情報の書き込みをよろしくお願い致します。 m(_ _)m

  • log^2の関数電卓での計算方法

    log^2の関数電卓での計算方法をおせえてください。 VOC作業環境測定の計算にて、安全率を求めているのですが、画像の公式で関数電卓でlog^2を表現するには、どのようにすれば容易でしょうか。 σ1には、1.45を代入したいです。 答えも、出していただけると、助かります。 よろしくお願いします。

  • PHPで呼び出し元の関数名の取得方法

    PHPで呼び出し元の関数名(メソッド名)を取得する関数や定数はありますか? function hoge() {   fuga(__FUNCTION__); } とすれば、fugaに対して、'hoge'を渡すことができると思いますが、 毎回、__FUNCTION__ と書くのは面倒です。 現在、 function fuga() {   $backtraces = debug_backtrace();   $filename = $backtraces[1]['function']; } として、呼び出し元を摘出していますが、他にいい方法はありますか?

    • 締切済み
    • PHP
  • ユーザー定義関数

    自サイトのアクセス解析をしようと SERVER変数を取得してログを解析しようとPHPで組んでみたのですが、 いまいちユーザー定義関数の上手?な使い方がわかりません。 アドバイスを頂けると幸いに思います。 データはcsv(すみませんSQL使えません)ファイルに1アクセス1行 日付,時間,キャリア等々 と記述しています。 ドコモをカウントする場合 function doco( $Key){ $handle = fopen( "LogFile", "r"); $count= 0; while (($data = fgetcsv($handle)) !== FALSE) {  if( mb_eregi( $Key, $data[2])){ $count++; } } echo $count; fclose($handle); } doco( "DoCoMo"); となり、さらに時間別にドコモで0時に来訪したのは何人? といった場合 ifの中にさらに時間の判別のifを記述し 引数の部分を増やしdoco( 引数1,引数2)見たいな感じにしますが そうではなく、 ドコモだけの人数を取り出したい場合も ドコモから12時の人数だけを取り出したい場合も 同じユーザー定義関数を使う方法はありますか? 宜しくお願いします。

    • 締切済み
    • PHP

専門家に質問してみよう