kmb01 の回答履歴
- 起動シェル内の「. 」について
アプリケーションサーバーの起動スクリプトに以下のような記述がありました。 この記述は現在のシェルのディレクトリを取得して、環境変数を設定するしシェルを呼び出す記述だと言うのは分かるのですが、最初の「. 」ドットスペースは何をしているのでしょうか? binDir=`dirname $0` . $binDir/setupCmdLine.sh
- ベストアンサー
- totmon
- その他(プログラミング・開発)
- 回答数3
- SetWindowOrgとSetViewportOrgの違い
VisualC++.netを利用してプログラムの練習をしています。そこで、 SetWindowOrg()と SetViewportOrg()の違いがいまひとつ分かりません。 また、 ウインドウは描画関数で指定する座標系 ビューポートはデバイス側の座標系 という意味もよく分かりません。 できればわかりやすく教えていただければ幸いです。
- ベストアンサー
- higenonorimaki
- C・C++・C#
- 回答数1
- unsigned char の配列で途中で0を含む時のstrlen
表題のようにunsigned char a[10]; の配列で、文字列ではなくデータとして扱っている時、どうしても途中で0が混じります。そこでstrlen(a) を取ると途中までの長さの値しか取れません。 sizeof(a) としてもunsigned char のsize=4 になるだけです。 この回避策はあるでしょうか。
- コンストラクタでnewを失敗した場合の対応について
よろしくお願いします。 クラスのメンバで3つのlongのポインタを宣言し、 コンストラクタ内でそれぞれにnewして領域を確保 しています。 質問1)newを失敗した場合には、そのポインタに 対してdeleteしてはいけないのでしょうか? 質問2)上記3つもエリアの確保のうち、2つめで失 敗した場合、1つ目のdeleteをしてやる 必要はあるのでしょうか? catch(bad_alloc)でその処理をしようとおもうのですが、そもそもコンストラクタで例外を発生させるなと かかれている書籍もあるようです。ただ、すでにそういう記載になってしまっており、できれば、いまの構造でメモリーリークを防げないかと思案しております。どなたか、よい方法をご存知の方いらっしゃいましたら、アドバイスいただけましたら幸いでございます。
- ベストアンサー
- kenchan5418
- C・C++・C#
- 回答数5
- コンストラクタでnewを失敗した場合の対応について
よろしくお願いします。 クラスのメンバで3つのlongのポインタを宣言し、 コンストラクタ内でそれぞれにnewして領域を確保 しています。 質問1)newを失敗した場合には、そのポインタに 対してdeleteしてはいけないのでしょうか? 質問2)上記3つもエリアの確保のうち、2つめで失 敗した場合、1つ目のdeleteをしてやる 必要はあるのでしょうか? catch(bad_alloc)でその処理をしようとおもうのですが、そもそもコンストラクタで例外を発生させるなと かかれている書籍もあるようです。ただ、すでにそういう記載になってしまっており、できれば、いまの構造でメモリーリークを防げないかと思案しております。どなたか、よい方法をご存知の方いらっしゃいましたら、アドバイスいただけましたら幸いでございます。
- ベストアンサー
- kenchan5418
- C・C++・C#
- 回答数5
- エラー内容について
お世話になっております。 現在、VC++6.0にてアプリを開発中です。 そこで、下記エラーが発生し、処理がうまく行きません。 エラーの内容と、対策をお教え下さい。 [エラー内容] Debug Error! Program:xxxxxxxxx.exe Module: File:i386\chkesp.c Line:42 The value of ESP was not properly saved across a function call. This is usually a result of calling a function declared with one calling convention with a function pointer declared with a different calling convention. (Press Retry to debug the application) エラー発生の場所は、GetProcAddressで、DLLの関数のアドレスを取得し、その関数をコールした結果で起こっています。 DLL内部にログ出力を入れた結果、DLLの関数自体は正常終了しています。 DLLの関数を取得している部分は下記の通りです。 typedef int (APIENTRY *LPGetRouteList)(WORD wdIn1, WORD wdIn2, WORD wdin3); ・ ・ ・ LPGetRouteList lpGetRouteList; ・ ・ ・ lpGetRouteList = (LPGetRouteList)GetProcAddress(hHandle,"GetRouteList); 関数を使用している部分は、下記の通りです。 int iRet = 0; ・ ・ ・ iRet = lpGetRouteList(wdA, wdB, wdC); <- ここでエラーが発生 DLLの関数は以下の通りです。 extern WORD APIENTRY GetRouteList(WORD wdIn1, WORD wdIn2, WORD wdIn3) { WORD wdRet = 0; ・ ・ ・ return(wdRet); } 以上、長文で見づらいと思われますが、なにとぞ宜しくお願いします。
- ベストアンサー
- riverman2005
- C・C++・C#
- 回答数1
- 《エクセル2000VBA》これで実行時エラー '1004'が出るのはなぜでしょう?
こんにちは。VBAの実行時エラーで困っています。 内容を抜粋したものが、下記のものになります。 If Worksheets(sname1).Range("M6") <> Empty Then MsgBox (sname1) MsgBox (Worksheets(sname1).Range("M6")) '該当入力シートの一番下の行を探す Worksheets(sname1).Range("M65536").End(xlUp).Offset(1).Select sname1はシート名の変数です。 2つのMsgBoxが間違いなく表示されますので、sname1に存在するシート名は入っていると思います。 今の状態で、該当入力シートの一番下の行を探す時点で実行時エラーが出てしまうのですが、なぜでしょうか?
- 子ダイアログのデータを親ダイアログで取得するには
VC6.0にてMFCでダイアログベースアプリケーションを作成しています。 親ダイアログ(TestDlg.cpp)のメニューを選択すると、子ダイアログ(SetDlg.cpp)が開き、テキストボックスに文字を入力し、ボタン押下によりテキストボックスの入力数字を確定(グローバル変数(igStatu)に代入)しています。 子ウインドウで入力確定したデータを、親ダイアログにて使用したいのですが、データが受け渡されずに、親ダイアログ側にデータが入りません。 どのようにしたら、子ダイアログで設定したデータを親ダイアログで取得することができるのでしょうか? C++、MFCともに全然わかっていませんがお願いします。 グローバル変数は、TestDlg.cpp、SetDlg.cppがインクルードしているTest.h内にstatic宣言しています。 static宣言しないとリンクエラー2005になってしまいます。
- VBの As Single はC++では・・・?
VBのプログラムをC++に書き換えているのですが、VBの xs(20,2,20) As Single というような変数宣言はC++ではどうすればいいのでしょう? プログラミングど初心者なのでよろしくお願いします。
- 相対パスの指定
FindFirstFile(), remove(), OPENFILENAME などのファイルやフォルダのパスを扱うものについて、例えば 実行ファイルと同じディレクトリに有るdat.datというファイルを「dat.dat」とだけ書いて相対指定したつもりが、実行ファイルと同じディレクトリにdat.datが無かった場合にWindowsフォルダなどの特殊なフォルダや、AUTOEXEC.BATに書いてあるフォルダを使ってdat.datが検索されて適用されたりすることはあるのでしょうか? いろいろな関数や構造体が有りますが、相対パスが指定されたとき、絶対パスを作るために使用されるフォルダパスが、GetCurrentDirectory()以外のものが使われることってあるんでしょうか?
- マウス自体の移動量の取得
カーソルの移動量(GetCursorPosで可)でなく、マウス自体の移動量を取得する事は出来ないのでしょうか? マウスカーソルはディスプレイの端に行くと動作が止まってしまいます。とにかく2次元の自由な動作を取得してアプリで使用したいのですが、マウスの動作が最適です。そこで、マウスカーソルは動作を停止させ(止めて)、マウス自体の移動量が取得できないかいろいろ試しました。 試したのが以下の方法です。 ・マウスカーソルを画面の中央に強制移動、 ・マウスカーソルを消す(タイプをcrNoneに設定)、 ・マウスの移動を検知すると、中央からの移動量取得 ・再び、見えないマウスを中央に強制移動 しかし、メッセージキューに入っている情報がFIFOの様で、移動量取得と中央への強制移動が同期せず、うまく値が取れません。 何か方法があれば御教授お願いいたします。BCBで開発しています。
- 正八面体の内接球の半径
以下の問題ですが、何とか頭をひねって考えるもののどうしても解き方が分かりません。 1辺の長さが2cmの正八面体の内部に、この正八面体のすべての面に接する球がある。 このとき正八面体の体積と球の半径を求めよ。 答え・体積=8√2/3 半径=√6/3 体積については何とか分かりましたが、半径についてが分かりません。 数学はとても苦手なので、できれば詳しくかみくだいてご説明頂ければと思っております。 皆様、どうぞ宜しくお願い致します。
- エディットボックスのテキストが表示されないのはなぜですか
VC++初心者です。 以下のソースでエディットボックスのテキストが表示されません。というか、最後のループの時のみ表示されますが、一回一回表示するにはどうしたらいいでしょうか? void CCRPTC_accessDlg::OnBnClickedOk() { int i; CEdit* myEdit1 = (CEdit*)GetDlgItem(IDC_EDIT1); ・ ・ ・ for (i=1;i<10;i++){ if (Ret != SUCCESS) { myEdit1->SetWindowText("NG!"); } else { myEdit1->SetWindowText("OK!"); } } }
- Borland C++ Compiler 5.5
コマンドプロンプトにて、「bcc32 -c test.c」と入力すると下記エラーが表示されます。 エラー E2209 test.c 193: インクルードファイル 'stdio.h' をオープンできない エラー E2209 test.c 194: インクルードファイル 'string.h' をオープンできない WEBで検索したら、bcc32.cfgの設定がおかしいと書いてありましたが、特におかしい所が見つかりません。 誰か教えて下さい。 下記はbcc32.cfgの内容です。 -I"c:\borland\bcc55\Include" -L"c:\borland\bcc55\Lib" -L"c:\borland\bcc55\Lib\PSDK" -DWINVER=0x0400 -D_WIN32_WINNT=0x0400 よろしくお願いします。
- ベストアンサー
- noname#10774
- C・C++・C#
- 回答数2
- c++でスレッド処理
vc++6.0でスレッドを使ったアプリケーションを作っています。 AfxBeginThreadを使って UINT Action::reactiveMotionTh( LPVOID pvParam) { Action *rm = (Action *)pvParam; ・ ・ ・ return 0; } CWinThread* ch = AfxBeginThread(reactiveMotionTh, (LPVOID)this); と書いたのですが、実行しようとすると、 error C2065: 'AfxBeginThread' : 定義されていない識別子です。 とエラーがでます。何が問題なんでしょうか。よろしくお願いします。
- 期間
判断推理の問題です。 1984年4月に創立されたある研究所の記念誌を編纂していたところ、ア~オのような人事記録が判明した。 ア 1984年から99年までに所長を務めたのは、在職中の所長Eを含めてA~E(順不同)の5人であった。また、この期間第1研究部長に就任した人は、X、Yの2人であった。 イ 所長B、C、Dの在任期間は、それぞれ2年目、3年目、4年目までであった。 ウ 1987年は、初代所長Aの在任4年目であり、同時に、第1研究部長Xの在任期間も4年目であった。 エ 1999年は5代目の所長Eの在任5年目である。 オ 所長と部長について在任何年目かを比較したとき、その数が一致する期間は1984年4月から91年3月までの7年間だけであった。 ただし、所長および部長の交代は空席の期間なく4月に行われ、交代のあった年の残りの期間を後任の所長および部長の在任1年目と数えることとする。 条件ア、ウより、初代の所長、部長はそれぞれA、Xとわかる。そして、条件エより、Eが所長に就いたのは95年4月となり、条件イと合わせることにより、Aの在任期間は89年3月までとわかる。 ここでちょっと、つまずいております。どうしてAの在任期間がわかってしまうのでしょうか。
- (VBA)RegDeleteKeyがエラー
RegDeleteKeyについて教えてください ○削除するレジストリHKEY_LOCAL_MACHINE\SOFTWARE\XTSEGRSCESK\AAA ○ソース Public Const HKEY_LOCAL_MACHINE = &H80000002 Dim lRootKey As Long Dim sSubKey As String Dim lRet As Long lRootKey = HKEY_LOCAL_MACHINE sSubKey = "SOFTWARE\XTSEGRSCESK\AAA" lRet = RegDeleteKey(lRootKey, sSubKey) ○結果 RegDeleteKeyの戻り値が2 どこが悪いか教えてください お願いします
- 締切済み
- nagare
- Visual Basic
- 回答数1
- VisualC++6.0にて、コールスタックを見てもどこから来たかわからない
VisualC++6.0を使用しています。ほとんどわからないのに、都合で修正を任されています。調べながら、少~しずつなんとか進んでいますが、どうしても進めなくなりました。 繰り返し呼び出されているプロシージャ(?)があるのですが、そこの先頭でブレークして、コールスタックを見ても、呼び出し元のほうが、わけのわからない数字になっていて、プロシージャ名ではありませんでした。そこに飛んでみると、アセンブラのような処理が書いてあるだけで、さっぱりちんぷんかんぷんです。。。 このプロシージャを繰り返させている大元を探し出したいのです。 初心者で、質問の意味もわかりにくく、また、答えも書きにくいかもしれませんが。。。なにかアドバイスがありましたら、ご指導ください。m(__)m よろしくお願いします。
- ベストアンサー
- tokochan22
- C・C++・C#
- 回答数3
- 三角関数
高校生レベルの三角関数の不等式の証明問題だと思うのですが、 以下の問題を解く課程で、疑問点があります。 △ABCを考える。 cosA + cosB <= 2sin(C/2) を証明せよ。 という問題です。 ここで、左辺のcosの式を変換したのですが、 その際に、cos{(A-B)/2} という部分が出てくると思うのですが、 cos{(A-B)/2}がとりうる範囲は、 -1 < cos{(A-B)/2} <=1 で正しいでしょうか? 解説には、0 < cos{(A-B)/2} <=1 と書かれているのですが、 間違ってるような気がしてるのです。
- ベストアンサー
- questioman
- 数学・算数
- 回答数2